Emit movq for 64-bit register to XMM register moves, but continue to accept
[oota-llvm.git] / test / CodeGen / X86 / bitcast2.ll
1 ; RUN: llc < %s -march=x86-64 | FileCheck %s
2 ; RUN: llc < %s -march=x86-64 | not grep rsp
3
4 define i64 @test1(double %A) {
5 ; CHECK: test1
6 ; CHECK: movq
7    %B = bitcast double %A to i64
8    ret i64 %B
9 }
10
11 define double @test2(i64 %A) {
12 ; CHECK: test2
13 ; CHECK: movq
14    %B = bitcast i64 %A to double
15    ret double %B
16 }
17
18 define i32 @test3(float %A) {
19 ; CHECK: test3
20 ; CHECK: movd
21    %B = bitcast float %A to i32
22    ret i32 %B
23 }
24
25 define float @test4(i32 %A) {
26 ; CHECK: test4
27 ; CHECK: movd
28    %B = bitcast i32 %A to float
29    ret float %B
30 }
31