OLD | NEW |
(Empty) | |
| 1 ; This file tests support for vector constant pooling. |
| 2 |
| 3 ; The order in which vector constants appear in the output is unspecified. |
| 4 ; Hence, we check for the presence of only one constant per run line. |
| 5 ; |
| 6 ; RUN: %llvm2ice -O2 --verbose none %s | FileCheck %s --check-prefix=I16 |
| 7 ; RUN: %llvm2ice -Om1 --verbose none %s | FileCheck %s --check-prefix=I16 |
| 8 ; RUN: %llvm2ice -O2 --verbose none %s | FileCheck %s --check-prefix=FLOAT |
| 9 ; RUN: %llvm2ice -Om1 --verbose none %s | FileCheck %s --check-prefix=FLOAT |
| 10 ; RUN: %llvm2ice -O2 --verbose none %s | FileCheck %s --check-prefix=I1 |
| 11 ; RUN: %llvm2ice -Om1 --verbose none %s | FileCheck %s --check-prefix=I1 |
| 12 ; |
| 13 ; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s |
| 14 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s |
| 15 |
| 16 define <8 x i16> @test_v8i16() { |
| 17 entry: |
| 18 ret <8 x i16> <i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7> |
| 19 } |
| 20 |
| 21 ; I16: .long 0x10000 |
| 22 ; I16-NEXT: .long 0x30002 |
| 23 ; I16-NEXT: .long 0x50004 |
| 24 ; I16-NEXT: .long 0x70006 |
| 25 |
| 26 define <4 x float> @test_v4f32() { |
| 27 entry: |
| 28 ret <4 x float> <float 4.000000e+00, float 3.000000e+00, float 2.000000e+00, f
loat 1.000000e+00> |
| 29 } |
| 30 |
| 31 ; FLOAT: .long 0x40800000 |
| 32 ; FLOAT-NEXT: .long 0x40400000 |
| 33 ; FLOAT-NEXT: .long 0x40000000 |
| 34 ; FLOAT-NEXT: .long 0x3f800000 |
| 35 |
| 36 define <8 x i1> @test_v4i1() { |
| 37 entry: |
| 38 ret <8 x i1> <i1 0, i1 1, i1 0, i1 1, i1 1, i1 1, i1 1, i1 1> |
| 39 } |
| 40 |
| 41 ; I1: .short 0x0 |
| 42 ; I1-NEXT: .short 0x1 |
| 43 ; I1-NEXT: .short 0x0 |
| 44 ; I1-NEXT: .short 0x1 |
| 45 ; I1-NEXT: .short 0x1 |
| 46 ; I1-NEXT: .short 0x1 |
| 47 ; I1-NEXT: .short 0x1 |
| 48 ; I1-NEXT: .short 0x1 |
| 49 |
| 50 ; ERRORS-NOT: ICE translation error |
| 51 ; DUMP-NOT: SZ |
OLD | NEW |