brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.9 KiB · e96d5d2 Raw
392 lines · plain
1; Test the basic functionality of integer element promotions of different types.2; This tests checks passing of arguments, loading and storing to memory and3; basic arithmetic.4; RUN: llc -mtriple=i686-- < %s > /dev/null5; RUN: llc -mtriple=x86_64-- < %s > /dev/null6 7define <1 x i8> @test_1xi8(<1 x i8> %x, ptr %b) {8  %bb = load <1 x i8>, ptr %b9  %tt = xor <1 x i8> %x, %bb10  store <1 x i8> %tt, ptr %b11  br label %next12 13next:14  ret <1 x i8> %tt15}16 17 18define <1 x i16> @test_1xi16(<1 x i16> %x, ptr %b) {19  %bb = load <1 x i16>, ptr %b20  %tt = xor <1 x i16> %x, %bb21  store <1 x i16> %tt, ptr %b22  br label %next23 24next:25  ret <1 x i16> %tt26}27 28 29define <1 x i32> @test_1xi32(<1 x i32> %x, ptr %b) {30  %bb = load <1 x i32>, ptr %b31  %tt = xor <1 x i32> %x, %bb32  store <1 x i32> %tt, ptr %b33  br label %next34 35next:36  ret <1 x i32> %tt37}38 39 40define <1 x i64> @test_1xi64(<1 x i64> %x, ptr %b) {41  %bb = load <1 x i64>, ptr %b42  %tt = xor <1 x i64> %x, %bb43  store <1 x i64> %tt, ptr %b44  br label %next45 46next:47  ret <1 x i64> %tt48}49 50 51define <1 x i128> @test_1xi128(<1 x i128> %x, ptr %b) {52  %bb = load <1 x i128>, ptr %b53  %tt = xor <1 x i128> %x, %bb54  store <1 x i128> %tt, ptr %b55  br label %next56 57next:58  ret <1 x i128> %tt59}60 61 62define <1 x i256> @test_1xi256(<1 x i256> %x, ptr %b) {63  %bb = load <1 x i256>, ptr %b64  %tt = xor <1 x i256> %x, %bb65  store <1 x i256> %tt, ptr %b66  br label %next67 68next:69  ret <1 x i256> %tt70}71 72 73define <1 x i512> @test_1xi512(<1 x i512> %x, ptr %b) {74  %bb = load <1 x i512>, ptr %b75  %tt = xor <1 x i512> %x, %bb76  store <1 x i512> %tt, ptr %b77  br label %next78 79next:80  ret <1 x i512> %tt81}82 83 84define <2 x i8> @test_2xi8(<2 x i8> %x, ptr %b) {85  %bb = load <2 x i8>, ptr %b86  %tt = xor <2 x i8> %x, %bb87  store <2 x i8> %tt, ptr %b88  br label %next89 90next:91  ret <2 x i8> %tt92}93 94 95define <2 x i16> @test_2xi16(<2 x i16> %x, ptr %b) {96  %bb = load <2 x i16>, ptr %b97  %tt = xor <2 x i16> %x, %bb98  store <2 x i16> %tt, ptr %b99  br label %next100 101next:102  ret <2 x i16> %tt103}104 105 106define <2 x i32> @test_2xi32(<2 x i32> %x, ptr %b) {107  %bb = load <2 x i32>, ptr %b108  %tt = xor <2 x i32> %x, %bb109  store <2 x i32> %tt, ptr %b110  br label %next111 112next:113  ret <2 x i32> %tt114}115 116 117define <2 x i64> @test_2xi64(<2 x i64> %x, ptr %b) {118  %bb = load <2 x i64>, ptr %b119  %tt = xor <2 x i64> %x, %bb120  store <2 x i64> %tt, ptr %b121  br label %next122 123next:124  ret <2 x i64> %tt125}126 127 128define <2 x i128> @test_2xi128(<2 x i128> %x, ptr %b) {129  %bb = load <2 x i128>, ptr %b130  %tt = xor <2 x i128> %x, %bb131  store <2 x i128> %tt, ptr %b132  br label %next133 134next:135  ret <2 x i128> %tt136}137 138 139define <2 x i256> @test_2xi256(<2 x i256> %x, ptr %b) {140  %bb = load <2 x i256>, ptr %b141  %tt = xor <2 x i256> %x, %bb142  store <2 x i256> %tt, ptr %b143  br label %next144 145next:146  ret <2 x i256> %tt147}148 149 150define <2 x i512> @test_2xi512(<2 x i512> %x, ptr %b) {151  %bb = load <2 x i512>, ptr %b152  %tt = xor <2 x i512> %x, %bb153  store <2 x i512> %tt, ptr %b154  br label %next155 156next:157  ret <2 x i512> %tt158}159 160 161define <3 x i8> @test_3xi8(<3 x i8> %x, ptr %b) {162  %bb = load <3 x i8>, ptr %b163  %tt = xor <3 x i8> %x, %bb164  store <3 x i8> %tt, ptr %b165  br label %next166 167next:168  ret <3 x i8> %tt169}170 171 172define <3 x i16> @test_3xi16(<3 x i16> %x, ptr %b) {173  %bb = load <3 x i16>, ptr %b174  %tt = xor <3 x i16> %x, %bb175  store <3 x i16> %tt, ptr %b176  br label %next177 178next:179  ret <3 x i16> %tt180}181 182 183define <3 x i32> @test_3xi32(<3 x i32> %x, ptr %b) {184  %bb = load <3 x i32>, ptr %b185  %tt = xor <3 x i32> %x, %bb186  store <3 x i32> %tt, ptr %b187  br label %next188 189next:190  ret <3 x i32> %tt191}192 193 194define <3 x i64> @test_3xi64(<3 x i64> %x, ptr %b) {195  %bb = load <3 x i64>, ptr %b196  %tt = xor <3 x i64> %x, %bb197  store <3 x i64> %tt, ptr %b198  br label %next199 200next:201  ret <3 x i64> %tt202}203 204 205define <3 x i128> @test_3xi128(<3 x i128> %x, ptr %b) {206  %bb = load <3 x i128>, ptr %b207  %tt = xor <3 x i128> %x, %bb208  store <3 x i128> %tt, ptr %b209  br label %next210 211next:212  ret <3 x i128> %tt213}214 215 216define <3 x i256> @test_3xi256(<3 x i256> %x, ptr %b) {217  %bb = load <3 x i256>, ptr %b218  %tt = xor <3 x i256> %x, %bb219  store <3 x i256> %tt, ptr %b220  br label %next221 222next:223  ret <3 x i256> %tt224}225 226 227define <3 x i512> @test_3xi512(<3 x i512> %x, ptr %b) {228  %bb = load <3 x i512>, ptr %b229  %tt = xor <3 x i512> %x, %bb230  store <3 x i512> %tt, ptr %b231  br label %next232 233next:234  ret <3 x i512> %tt235}236 237 238define <4 x i8> @test_4xi8(<4 x i8> %x, ptr %b) {239  %bb = load <4 x i8>, ptr %b240  %tt = xor <4 x i8> %x, %bb241  store <4 x i8> %tt, ptr %b242  br label %next243 244next:245  ret <4 x i8> %tt246}247 248 249define <4 x i16> @test_4xi16(<4 x i16> %x, ptr %b) {250  %bb = load <4 x i16>, ptr %b251  %tt = xor <4 x i16> %x, %bb252  store <4 x i16> %tt, ptr %b253  br label %next254 255next:256  ret <4 x i16> %tt257}258 259 260define <4 x i32> @test_4xi32(<4 x i32> %x, ptr %b) {261  %bb = load <4 x i32>, ptr %b262  %tt = xor <4 x i32> %x, %bb263  store <4 x i32> %tt, ptr %b264  br label %next265 266next:267  ret <4 x i32> %tt268}269 270 271define <4 x i64> @test_4xi64(<4 x i64> %x, ptr %b) {272  %bb = load <4 x i64>, ptr %b273  %tt = xor <4 x i64> %x, %bb274  store <4 x i64> %tt, ptr %b275  br label %next276 277next:278  ret <4 x i64> %tt279}280 281 282define <4 x i128> @test_4xi128(<4 x i128> %x, ptr %b) {283  %bb = load <4 x i128>, ptr %b284  %tt = xor <4 x i128> %x, %bb285  store <4 x i128> %tt, ptr %b286  br label %next287 288next:289  ret <4 x i128> %tt290}291 292 293define <4 x i256> @test_4xi256(<4 x i256> %x, ptr %b) {294  %bb = load <4 x i256>, ptr %b295  %tt = xor <4 x i256> %x, %bb296  store <4 x i256> %tt, ptr %b297  br label %next298 299next:300  ret <4 x i256> %tt301}302 303 304define <4 x i512> @test_4xi512(<4 x i512> %x, ptr %b) {305  %bb = load <4 x i512>, ptr %b306  %tt = xor <4 x i512> %x, %bb307  store <4 x i512> %tt, ptr %b308  br label %next309 310next:311  ret <4 x i512> %tt312}313 314 315define <5 x i8> @test_5xi8(<5 x i8> %x, ptr %b) {316  %bb = load <5 x i8>, ptr %b317  %tt = xor <5 x i8> %x, %bb318  store <5 x i8> %tt, ptr %b319  br label %next320 321next:322  ret <5 x i8> %tt323}324 325 326define <5 x i16> @test_5xi16(<5 x i16> %x, ptr %b) {327  %bb = load <5 x i16>, ptr %b328  %tt = xor <5 x i16> %x, %bb329  store <5 x i16> %tt, ptr %b330  br label %next331 332next:333  ret <5 x i16> %tt334}335 336 337define <5 x i32> @test_5xi32(<5 x i32> %x, ptr %b) {338  %bb = load <5 x i32>, ptr %b339  %tt = xor <5 x i32> %x, %bb340  store <5 x i32> %tt, ptr %b341  br label %next342 343next:344  ret <5 x i32> %tt345}346 347 348define <5 x i64> @test_5xi64(<5 x i64> %x, ptr %b) {349  %bb = load <5 x i64>, ptr %b350  %tt = xor <5 x i64> %x, %bb351  store <5 x i64> %tt, ptr %b352  br label %next353 354next:355  ret <5 x i64> %tt356}357 358 359define <5 x i128> @test_5xi128(<5 x i128> %x, ptr %b) {360  %bb = load <5 x i128>, ptr %b361  %tt = xor <5 x i128> %x, %bb362  store <5 x i128> %tt, ptr %b363  br label %next364 365next:366  ret <5 x i128> %tt367}368 369 370define <5 x i256> @test_5xi256(<5 x i256> %x, ptr %b) {371  %bb = load <5 x i256>, ptr %b372  %tt = xor <5 x i256> %x, %bb373  store <5 x i256> %tt, ptr %b374  br label %next375 376next:377  ret <5 x i256> %tt378}379 380 381define <5 x i512> @test_5xi512(<5 x i512> %x, ptr %b) {382  %bb = load <5 x i512>, ptr %b383  %tt = xor <5 x i512> %x, %bb384  store <5 x i512> %tt, ptr %b385  br label %next386 387next:388  ret <5 x i512> %tt389}390 391 392