brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.3 KiB · 06ffb37 Raw
157 lines · c
1// REQUIRES: hexagon-registered-target2// RUN: %clang_cc1 -triple hexagon-unknown-elf -target-cpu hexagonv60 -emit-llvm %s -o - | FileCheck %s3 4// CHECK-LABEL: test15// CHECK: @llvm.hexagon.L2.loadrub.pci6unsigned char test1(int mod, void *start) {7  unsigned char *base = start;8  return __builtin_HEXAGON_L2_loadrub_pci(&base, 4, mod, start);9}10 11// CHECK-LABEL: test212// CHECK: @llvm.hexagon.L2.loadrb.pci13unsigned char test2(int mod, void *start) {14  char *base = start;15  return __builtin_HEXAGON_L2_loadrb_pci(&base, 4, mod, start);16}17 18// CHECK-LABEL: test319// CHECK: @llvm.hexagon.L2.loadruh.pci20unsigned short test3(int mod, void *start) {21  unsigned short *base = start;22  return __builtin_HEXAGON_L2_loadruh_pci(&base, 4, mod, start);23}24 25// CHECK-LABEL: test426// CHECK: @llvm.hexagon.L2.loadrh.pci27short test4(int mod, void *start) {28  short *base = start;29  return __builtin_HEXAGON_L2_loadrh_pci(&base, 4, mod, start);30}31 32// CHECK-LABEL: test533// CHECK: @llvm.hexagon.L2.loadri.pci34int test5(int mod, void *start) {35  int *base = start;36  return __builtin_HEXAGON_L2_loadri_pci(&base, 4, mod, start);37}38 39// CHECK-LABEL: test640// CHECK: @llvm.hexagon.L2.loadrd.pci41long long test6(int mod, void *start) {42  long long *base = start;43  return __builtin_HEXAGON_L2_loadrd_pci(&base, 8, mod, start);44}45 46// CHECK-LABEL: test747// CHECK: @llvm.hexagon.L2.loadrub.pcr48unsigned char test7(int mod, void *start) {49  unsigned char *base = start;50  return __builtin_HEXAGON_L2_loadrub_pcr(&base, mod, start);51}52 53// CHECK-LABEL: test854// CHECK: @llvm.hexagon.L2.loadrb.pcr55unsigned char test8(int mod, void *start) {56  char *base = start;57  return __builtin_HEXAGON_L2_loadrb_pcr(&base, mod, start);58}59 60// CHECK-LABEL: test961// CHECK: @llvm.hexagon.L2.loadruh.pcr62unsigned short test9(int mod, void *start) {63  unsigned short *base = start;64  return __builtin_HEXAGON_L2_loadruh_pcr(&base, mod, start);65}66 67// CHECK-LABEL: test1068// CHECK: @llvm.hexagon.L2.loadrh.pcr69short test10(int mod, void *start) {70  short *base = start;71  return __builtin_HEXAGON_L2_loadrh_pcr(&base, mod, start);72}73 74// CHECK-LABEL: test1175// CHECK: @llvm.hexagon.L2.loadri.pcr76int test11(int mod, void *start) {77  int *base = start;78  return __builtin_HEXAGON_L2_loadri_pcr(&base, mod, start);79}80 81// CHECK-LABEL: test1282// CHECK: @llvm.hexagon.L2.loadrd.pcr83long long test12(int mod, void *start) {84  long long *base = start;85  return __builtin_HEXAGON_L2_loadrd_pcr(&base, mod, start);86}87 88// CHECK-LABEL: test1389// CHECK: @llvm.hexagon.S2.storerb.pci90void test13(int mod, void *start, char v) {91  void *base = start;92  __builtin_HEXAGON_S2_storerb_pci(&base, 4, mod, v, start);93}94 95// CHECK-LABEL: test1496// CHECK: @llvm.hexagon.S2.storerh.pci97void test14(int mod, void *start, short v) {98  void *base = start;99  __builtin_HEXAGON_S2_storerh_pci(&base, 4, mod, v, start);100}101 102// CHECK-LABEL: test15103// CHECK: @llvm.hexagon.S2.storerf.pci104void test15(int mod, void *start, short v) {105  void *base = start;106  __builtin_HEXAGON_S2_storerf_pci(&base, 4, mod, v, start);107}108 109// CHECK-LABEL: test16110// CHECK: @llvm.hexagon.S2.storeri.pci111void test16(int mod, void *start, int v) {112  void *base = start;113  __builtin_HEXAGON_S2_storeri_pci(&base, 4, mod, v, start);114}115 116// CHECK-LABEL: test17117// CHECK: @llvm.hexagon.S2.storerd.pci118void test17(int mod, void *start, long long v) {119  void *base = start;120  __builtin_HEXAGON_S2_storerd_pci(&base, 8, mod, v, start);121}122 123// CHECK-LABEL: test18124// CHECK: @llvm.hexagon.S2.storerb.pcr125void test18(int mod, void *start, char v) {126  void *base = start;127  __builtin_HEXAGON_S2_storerb_pcr(&base, mod, v, start);128}129 130// CHECK-LABEL: test19131// CHECK: @llvm.hexagon.S2.storerh.pcr132void test19(int mod, void *start, short v) {133  void *base = start;134  __builtin_HEXAGON_S2_storerh_pcr(&base, mod, v, start);135}136 137// CHECK-LABEL: test20138// CHECK: @llvm.hexagon.S2.storerf.pcr139void test20(int mod, void *start, short v) {140  void *base = start;141  __builtin_HEXAGON_S2_storerf_pcr(&base, mod, v, start);142}143 144// CHECK-LABEL: test21145// CHECK: @llvm.hexagon.S2.storeri.pcr146void test21(int mod, void *start, int v) {147  void *base = start;148  __builtin_HEXAGON_S2_storeri_pcr(&base, mod, v, start);149}150 151// CHECK-LABEL: test22152// CHECK: @llvm.hexagon.S2.storerd.pcr153void test22(int mod, void *start, long long v) {154  void *base = start;155  __builtin_HEXAGON_S2_storerd_pcr(&base, mod, v, start);156}157