19427aa2dSDiogo N. Sampaio // Bug: https://bugs.llvm.org/show_bug.cgi?id=42668 29427aa2dSDiogo N. Sampaio // REQUIRES: arm-registered-target 39427aa2dSDiogo N. Sampaio 4*532dc62bSNikita Popov // RUN: %clang_cc1 -no-opaque-pointers -triple armv8-arm-none-eabi -emit-llvm -target-cpu generic -Os -fcxx-exceptions -o - -x c++ %s | FileCheck --check-prefixes=CHECK,A8 %s 5*532dc62bSNikita Popov // RUN: %clang_cc1 -no-opaque-pointers -triple armv8-unknown-linux-android -emit-llvm -target-cpu generic -Os -fcxx-exceptions -o - -x c++ %s | FileCheck --check-prefixes=CHECK,A16 %s 69427aa2dSDiogo N. Sampaio 79427aa2dSDiogo N. Sampaio // CHECK: [[E:%[A-z0-9]+]] = tail call i8* @__cxa_allocate_exception 89427aa2dSDiogo N. Sampaio // CHECK-NEXT: [[BC:%[A-z0-9]+]] = bitcast i8* [[E]] to <2 x i64>* 99427aa2dSDiogo N. Sampaio // A8-NEXT: store <2 x i64> <i64 1, i64 2>, <2 x i64>* [[BC]], align 8 109427aa2dSDiogo N. Sampaio // A16-NEXT: store <2 x i64> <i64 1, i64 2>, <2 x i64>* [[BC]], align 16 119427aa2dSDiogo N. Sampaio #include <arm_neon.h> 129427aa2dSDiogo N. Sampaio main(void)139427aa2dSDiogo N. Sampaioint main(void) { 149427aa2dSDiogo N. Sampaio try { 159427aa2dSDiogo N. Sampaio throw vld1q_u64(((const uint64_t[2]){1, 2})); 169427aa2dSDiogo N. Sampaio } catch (uint64x2_t exc) { 179427aa2dSDiogo N. Sampaio return 0; 189427aa2dSDiogo N. Sampaio } 199427aa2dSDiogo N. Sampaio return 1; 209427aa2dSDiogo N. Sampaio } 219427aa2dSDiogo N. Sampaio 22