| OLD | NEW |
| 1 ; This test checks that undef values are represented as zero. | 1 ; This test checks that undef values are represented as zero. |
| 2 | 2 |
| 3 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -O2 \ | 3 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -O2 \ |
| 4 ; RUN: | FileCheck %s | 4 ; RUN: | FileCheck %s |
| 5 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -Om1 \ | 5 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -Om1 \ |
| 6 ; RUN: | FileCheck %s | 6 ; RUN: | FileCheck %s |
| 7 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -O2 -mattr=sse4.1 \ | 7 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -O2 -mattr=sse4.1 \ |
| 8 ; RUN: | FileCheck %s | 8 ; RUN: | FileCheck %s |
| 9 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -Om1 -mattr=sse4.1 \ | 9 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -Om1 -mattr=sse4.1 \ |
| 10 ; RUN: | FileCheck %s | 10 ; RUN: | FileCheck %s |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 ret i32 %ret | 31 ret i32 %ret |
| 32 ; CHECK-LABEL: trunc_undef_i64 | 32 ; CHECK-LABEL: trunc_undef_i64 |
| 33 ; CHECK: mov eax,0x0 | 33 ; CHECK: mov eax,0x0 |
| 34 ; CHECK: ret | 34 ; CHECK: ret |
| 35 } | 35 } |
| 36 | 36 |
| 37 define internal float @undef_float() { | 37 define internal float @undef_float() { |
| 38 entry: | 38 entry: |
| 39 ret float undef | 39 ret float undef |
| 40 ; CHECK-LABEL: undef_float | 40 ; CHECK-LABEL: undef_float |
| 41 ; CHECK: fld DWORD PTR {{.*}} .L$float$00000000 | 41 ; CHECK: pxor [[REG:xmm.]],[[REG]] |
| 42 ; CHECK: fld |
| 42 } | 43 } |
| 43 | 44 |
| 44 define internal <4 x i1> @undef_v4i1() { | 45 define internal <4 x i1> @undef_v4i1() { |
| 45 entry: | 46 entry: |
| 46 ret <4 x i1> undef | 47 ret <4 x i1> undef |
| 47 ; CHECK-LABEL: undef_v4i1 | 48 ; CHECK-LABEL: undef_v4i1 |
| 48 ; CHECK: pxor | 49 ; CHECK: pxor |
| 49 } | 50 } |
| 50 | 51 |
| 51 define internal <8 x i1> @undef_v8i1() { | 52 define internal <8 x i1> @undef_v8i1() { |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 184 ret <4 x float> %val | 185 ret <4 x float> %val |
| 185 ; CHECK-LABEL: vector_insertelement_arg1 | 186 ; CHECK-LABEL: vector_insertelement_arg1 |
| 186 ; CHECK: pxor | 187 ; CHECK: pxor |
| 187 } | 188 } |
| 188 | 189 |
| 189 define internal <4 x float> @vector_insertelement_arg2(<4 x float> %arg) { | 190 define internal <4 x float> @vector_insertelement_arg2(<4 x float> %arg) { |
| 190 entry: | 191 entry: |
| 191 %val = insertelement <4 x float> %arg, float undef, i32 0 | 192 %val = insertelement <4 x float> %arg, float undef, i32 0 |
| 192 ret <4 x float> %val | 193 ret <4 x float> %val |
| 193 ; CHECK-LABEL: vector_insertelement_arg2 | 194 ; CHECK-LABEL: vector_insertelement_arg2 |
| 194 ; CHECK: {{movss|insertps}} {{.*}},DWORD PTR {{.*}} .L$float$00000000 | 195 ; CHECK: pxor [[REG:xmm.]],[[REG]] |
| 196 ; CHECK: {{movss|insertps}} {{.*}},[[REG]] |
| 195 } | 197 } |
| 196 | 198 |
| 197 define internal float @vector_extractelement_v4f32_index_0() { | 199 define internal float @vector_extractelement_v4f32_index_0() { |
| 198 entry: | 200 entry: |
| 199 %val = extractelement <4 x float> undef, i32 0 | 201 %val = extractelement <4 x float> undef, i32 0 |
| 200 ret float %val | 202 ret float %val |
| 201 ; CHECK-LABEL: vector_extractelement_v4f32_index_0 | 203 ; CHECK-LABEL: vector_extractelement_v4f32_index_0 |
| 202 ; CHECK: pxor | 204 ; CHECK: pxor |
| 203 } | 205 } |
| 204 | 206 |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 292 } | 294 } |
| 293 | 295 |
| 294 define internal <4 x float> @vector_select_v4f32_arg2(<4 x i1> %cond, | 296 define internal <4 x float> @vector_select_v4f32_arg2(<4 x i1> %cond, |
| 295 <4 x float> %a) { | 297 <4 x float> %a) { |
| 296 entry: | 298 entry: |
| 297 %val = select <4 x i1> %cond, <4 x float> %a, <4 x float> undef | 299 %val = select <4 x i1> %cond, <4 x float> %a, <4 x float> undef |
| 298 ret <4 x float> %val | 300 ret <4 x float> %val |
| 299 ; CHECK-LABEL: vector_select_v4f32_arg2 | 301 ; CHECK-LABEL: vector_select_v4f32_arg2 |
| 300 ; CHECK: pxor | 302 ; CHECK: pxor |
| 301 } | 303 } |
| OLD | NEW |