Eric Christopher | 11e5983 | 2015-10-08 20:10:06 +0000 | [diff] [blame^] | 1 | ; RUN: llc < %s -march=x86 -mattr=+mmx | FileCheck %s |
| 2 | ; RUN: llc < %s -march=x86 -mattr=+mmx,-sse | FileCheck %s |
| 3 | |
| 4 | ; Test that turning off sse doesn't turn off mmx. |
| 5 | |
| 6 | declare x86_mmx @llvm.x86.mmx.pcmpgt.d(x86_mmx, x86_mmx) nounwind readnone |
| 7 | |
| 8 | define i64 @test88(<1 x i64> %a, <1 x i64> %b) nounwind readnone { |
| 9 | ; CHECK-LABEL: @test88 |
| 10 | ; CHECK: pcmpgtd |
| 11 | entry: |
| 12 | %0 = bitcast <1 x i64> %b to <2 x i32> |
| 13 | %1 = bitcast <1 x i64> %a to <2 x i32> |
| 14 | %mmx_var.i = bitcast <2 x i32> %1 to x86_mmx |
| 15 | %mmx_var1.i = bitcast <2 x i32> %0 to x86_mmx |
| 16 | %2 = tail call x86_mmx @llvm.x86.mmx.pcmpgt.d(x86_mmx %mmx_var.i, x86_mmx %mmx_var1.i) nounwind |
| 17 | %3 = bitcast x86_mmx %2 to <2 x i32> |
| 18 | %4 = bitcast <2 x i32> %3 to <1 x i64> |
| 19 | %5 = extractelement <1 x i64> %4, i32 0 |
| 20 | ret i64 %5 |
| 21 | } |