brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · 972e248 Raw
68 lines · c
1// RUN: %clang_cc1 -triple aarch64-linux-gnu -target-feature +neon \2// RUN:  -target-feature +v8.3a -target-feature +fullfp16 -emit-llvm -o - %s \3// RUN:  | FileCheck %s4 5// REQUIRES: aarch64-registered-target || arm-registered-target6 7#include <arm_neon.h>8 9void foo16x4_rot90(float16x4_t a, float16x4_t b)10{11// CHECK: call <4 x half> @llvm.aarch64.neon.vcadd.rot90.v4f1612  float16x4_t result = vcadd_rot90_f16(a, b);13}14 15void foo32x2_rot90(float32x2_t a, float32x2_t b)16{17// CHECK: call <2 x float> @llvm.aarch64.neon.vcadd.rot90.v2f3218  float32x2_t result = vcadd_rot90_f32(a, b);19}20 21void foo16x8_rot90(float16x8_t a, float16x8_t b)22{23// CHECK: call <8 x half> @llvm.aarch64.neon.vcadd.rot90.v8f1624  float16x8_t result = vcaddq_rot90_f16(a, b);25}26 27void foo32x4_rot90(float32x4_t a, float32x4_t b)28{29// CHECK: call <4 x float> @llvm.aarch64.neon.vcadd.rot90.v4f3230  float32x4_t result = vcaddq_rot90_f32(a, b);31}32 33void foo64x2_rot90(float64x2_t a, float64x2_t b)34{35// CHECK: call <2 x double> @llvm.aarch64.neon.vcadd.rot90.v2f6436  float64x2_t result = vcaddq_rot90_f64(a, b);37}38 39void foo16x4_rot270(float16x4_t a, float16x4_t b)40{41// CHECK: call <4 x half> @llvm.aarch64.neon.vcadd.rot270.v4f1642  float16x4_t result = vcadd_rot270_f16(a, b);43}44 45void foo32x2_rot270(float32x2_t a, float32x2_t b)46{47// CHECK: call <2 x float> @llvm.aarch64.neon.vcadd.rot270.v2f3248  float32x2_t result = vcadd_rot270_f32(a, b);49}50 51void foo16x8_rot270(float16x8_t a, float16x8_t b)52{53// CHECK: call <8 x half> @llvm.aarch64.neon.vcadd.rot270.v8f1654  float16x8_t result = vcaddq_rot270_f16(a, b);55}56 57void foo32x4_rot270(float32x4_t a, float32x4_t b)58{59// CHECK: call <4 x float> @llvm.aarch64.neon.vcadd.rot270.v4f3260  float32x4_t result = vcaddq_rot270_f32(a, b);61}62 63void foo64x2_rot270(float64x2_t a, float64x2_t b)64{65// CHECK: call <2 x double> @llvm.aarch64.neon.vcadd.rot270.v2f6466  float64x2_t result = vcaddq_rot270_f64(a, b);67}68