From: Jiangning Liu Date: Fri, 22 Nov 2013 02:46:20 +0000 (+0000) Subject: For AArch64, intrinsic vget_low_xxx can be optimized away. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=68bf2a99a5b920bceee9549dc8c35bb0e6ef0014;p=clang For AArch64, intrinsic vget_low_xxx can be optimized away. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195409 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/CodeGen/aarch64-neon-vget-hilo.c b/test/CodeGen/aarch64-neon-vget-hilo.c index 9edd31a88b..012b0bbb96 100644 --- a/test/CodeGen/aarch64-neon-vget-hilo.c +++ b/test/CodeGen/aarch64-neon-vget-hilo.c @@ -7,170 +7,170 @@ #include int8x8_t test_vget_high_s8(int8x16_t a) { - // CHECK: test_vget_high_s8 + // CHECK-LABEL: test_vget_high_s8: return vget_high_s8(a); // CHECK: dup d0, {{v[0-9]+}}.d[1] } int16x4_t test_vget_high_s16(int16x8_t a) { - // CHECK: test_vget_high_s16 + // CHECK-LABEL: test_vget_high_s16: return vget_high_s16(a); // CHECK: dup d0, {{v[0-9]+}}.d[1] } int32x2_t test_vget_high_s32(int32x4_t a) { - // CHECK: test_vget_high_s32 + // CHECK-LABEL: test_vget_high_s32: return vget_high_s32(a); // CHECK: dup d0, {{v[0-9]+}}.d[1] } int64x1_t test_vget_high_s64(int64x2_t a) { - // CHECK: test_vget_high_s64 + // CHECK-LABEL: test_vget_high_s64: return vget_high_s64(a); // CHECK: dup d0, {{v[0-9]+}}.d[1] } uint8x8_t test_vget_high_u8(uint8x16_t a) { - // CHECK: test_vget_high_u8 + // CHECK-LABEL: test_vget_high_u8: return vget_high_u8(a); // CHECK: dup d0, {{v[0-9]+}}.d[1] } uint16x4_t test_vget_high_u16(uint16x8_t a) { - // CHECK: test_vget_high_u16 + // CHECK-LABEL: test_vget_high_u16: return vget_high_u16(a); // CHECK: dup d0, {{v[0-9]+}}.d[1] } uint32x2_t test_vget_high_u32(uint32x4_t a) { - // CHECK: test_vget_high_u32 + // CHECK-LABEL: test_vget_high_u32: return vget_high_u32(a); // CHECK: dup d0, {{v[0-9]+}}.d[1] } uint64x1_t test_vget_high_u64(uint64x2_t a) { - // CHECK: test_vget_high_u64 + // CHECK-LABEL: test_vget_high_u64: return vget_high_u64(a); // CHECK: dup d0, {{v[0-9]+}}.d[1] } poly64x1_t test_vget_high_p64(poly64x2_t a) { - // CHECK: test_vget_high_p64 + // CHECK-LABEL: test_vget_high_p64: return vget_high_p64(a); // CHECK: dup d0, {{v[0-9]+}}.d[1] } float16x4_t test_vget_high_f16(float16x8_t a) { - // CHECK: test_vget_high_f16 + // CHECK-LABEL: test_vget_high_f16: return vget_high_f16(a); // CHECK: dup d0, {{v[0-9]+}}.d[1] } float32x2_t test_vget_high_f32(float32x4_t a) { - // CHECK: test_vget_high_f32 + // CHECK-LABEL: test_vget_high_f32: return vget_high_f32(a); // CHECK: dup d0, {{v[0-9]+}}.d[1] } poly8x8_t test_vget_high_p8(poly8x16_t a) { - // CHECK: test_vget_high_p8 + // CHECK-LABEL: test_vget_high_p8: return vget_high_p8(a); // CHECK: dup d0, {{v[0-9]+}}.d[1] } poly16x4_t test_vget_high_p16(poly16x8_t a) { - // CHECK: test_vget_high_p16 + // CHECK-LABEL: test_vget_high_p16 return vget_high_p16(a); // CHECK: dup d0, {{v[0-9]+}}.d[1] } float64x1_t test_vget_high_f64(float64x2_t a) { - // CHECK: test_vget_high_f64 + // CHECK-LABEL: test_vget_high_f64 return vget_high_f64(a); // CHECK: dup d0, {{v[0-9]+}}.d[1] } int8x8_t test_vget_low_s8(int8x16_t a) { - // CHECK: test_vget_low_s8 + // CHECK-LABEL: test_vget_low_s8: return vget_low_s8(a); - // CHECK: dup d0, {{v[0-9]+}}.d[0] + // CHECK-NEXT: ret } int16x4_t test_vget_low_s16(int16x8_t a) { - // CHECK: test_vget_low_s16 + // CHECK-LABEL: test_vget_low_s16: return vget_low_s16(a); - // CHECK: dup d0, {{v[0-9]+}}.d[0] + // CHECK-NEXT: ret } int32x2_t test_vget_low_s32(int32x4_t a) { - // CHECK: test_vget_low_s32 + // CHECK-LABEL: test_vget_low_s32: return vget_low_s32(a); - // CHECK: dup d0, {{v[0-9]+}}.d[0] + // CHECK-NEXT: ret } int64x1_t test_vget_low_s64(int64x2_t a) { - // CHECK: test_vget_low_s64 + // CHECK-LABEL: test_vget_low_s64: return vget_low_s64(a); - // CHECK: dup d0, {{v[0-9]+}}.d[0] + // CHECK-NEXT: ret } uint8x8_t test_vget_low_u8(uint8x16_t a) { - // CHECK: test_vget_low_u8 + // CHECK-LABEL: test_vget_low_u8: return vget_low_u8(a); - // CHECK: dup d0, {{v[0-9]+}}.d[0] + // CHECK-NEXT: ret } uint16x4_t test_vget_low_u16(uint16x8_t a) { - // CHECK: test_vget_low_u16 + // CHECK-LABEL: test_vget_low_u16: return vget_low_u16(a); - // CHECK: dup d0, {{v[0-9]+}}.d[0] + // CHECK-NEXT: ret } uint32x2_t test_vget_low_u32(uint32x4_t a) { - // CHECK: test_vget_low_u32 + // CHECK-LABEL: test_vget_low_u32: return vget_low_u32(a); - // CHECK: dup d0, {{v[0-9]+}}.d[0] + // CHECK-NEXT: ret } uint64x1_t test_vget_low_u64(uint64x2_t a) { - // CHECK: test_vget_low_u64 + // CHECK-LABEL: test_vget_low_u64: return vget_low_u64(a); - // CHECK: dup d0, {{v[0-9]+}}.d[0] + // CHECK-NEXT: ret } poly64x1_t test_vget_low_p64(poly64x2_t a) { - // CHECK: test_vget_low_p64 + // CHECK-LABEL: test_vget_low_p64: return vget_low_p64(a); - // CHECK: dup d0, {{v[0-9]+}}.d[0] + // CHECK-NEXT: ret } float16x4_t test_vget_low_f16(float16x8_t a) { - // CHECK: test_vget_low_f16 + // CHECK-LABEL: test_vget_low_f16: return vget_low_f16(a); - // CHECK: dup d0, {{v[0-9]+}}.d[0] + // CHECK-NEXT: ret } float32x2_t test_vget_low_f32(float32x4_t a) { - // CHECK: test_vget_low_f32 + // CHECK-LABEL: test_vget_low_f32: return vget_low_f32(a); - // CHECK: dup d0, {{v[0-9]+}}.d[0] + // CHECK-NEXT: ret } poly8x8_t test_vget_low_p8(poly8x16_t a) { - // CHECK: test_vget_low_p8 + // CHECK-LABEL: test_vget_low_p8: return vget_low_p8(a); - // CHECK: dup d0, {{v[0-9]+}}.d[0] + // CHECK-NEXT: ret } poly16x4_t test_vget_low_p16(poly16x8_t a) { - // CHECK: test_vget_low_p16 + // CHECK-LABEL: test_vget_low_p16: return vget_low_p16(a); - // CHECK: dup d0, {{v[0-9]+}}.d[0] + // CHECK-NEXT: ret } float64x1_t test_vget_low_f64(float64x2_t a) { - // CHECK: test_vget_low_f64 + // CHECK-LABEL: test_vget_low_f64: return vget_low_f64(a); - // CHECK: dup d0, {{v[0-9]+}}.d[0] + // CHECK-NEXT: ret }