mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
Also expand 64-bit bitcasts.
llvm-svn: 182229
This commit is contained in:
parent
e033165fd4
commit
dad0022424
@ -1300,6 +1300,8 @@ SparcTargetLowering::SparcTargetLowering(TargetMachine &TM)
|
|||||||
setOperationAction(ISD::SELECT_CC, MVT::f64, Custom);
|
setOperationAction(ISD::SELECT_CC, MVT::f64, Custom);
|
||||||
|
|
||||||
if (Subtarget->is64Bit()) {
|
if (Subtarget->is64Bit()) {
|
||||||
|
setOperationAction(ISD::BITCAST, MVT::f64, Expand);
|
||||||
|
setOperationAction(ISD::BITCAST, MVT::i64, Expand);
|
||||||
setOperationAction(ISD::SELECT, MVT::i64, Expand);
|
setOperationAction(ISD::SELECT, MVT::i64, Expand);
|
||||||
setOperationAction(ISD::SETCC, MVT::i64, Expand);
|
setOperationAction(ISD::SETCC, MVT::i64, Expand);
|
||||||
setOperationAction(ISD::BR_CC, MVT::i64, Custom);
|
setOperationAction(ISD::BR_CC, MVT::i64, Custom);
|
||||||
|
@ -209,3 +209,19 @@ define i64 @spill_i64(i64 %x) {
|
|||||||
call void asm sideeffect "", "~{i0},~{i1},~{i2},~{i3},~{i4},~{i5},~{o0},~{o1},~{o2},~{o3},~{o4},~{o5},~{o7},~{l0},~{l1},~{l2},~{l3},~{l4},~{l5},~{l6},~{l7},~{g1},~{g2},~{g3},~{g4},~{g5},~{g6},~{g7}"()
|
call void asm sideeffect "", "~{i0},~{i1},~{i2},~{i3},~{i4},~{i5},~{o0},~{o1},~{o2},~{o3},~{o4},~{o5},~{o7},~{l0},~{l1},~{l2},~{l3},~{l4},~{l5},~{l6},~{l7},~{g1},~{g2},~{g3},~{g4},~{g5},~{g6},~{g7}"()
|
||||||
ret i64 %x
|
ret i64 %x
|
||||||
}
|
}
|
||||||
|
|
||||||
|
; CHECK: bitcast_i64_f64
|
||||||
|
; CHECK: std
|
||||||
|
; CHECK: ldx
|
||||||
|
define i64 @bitcast_i64_f64(double %x) {
|
||||||
|
%y = bitcast double %x to i64
|
||||||
|
ret i64 %y
|
||||||
|
}
|
||||||
|
|
||||||
|
; CHECK: bitcast_f64_i64
|
||||||
|
; CHECK: stx
|
||||||
|
; CHECK: ldd
|
||||||
|
define double @bitcast_f64_i64(i64 %x) {
|
||||||
|
%y = bitcast i64 %x to double
|
||||||
|
ret double %y
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user