Expand 32-bit bitconverts via memory

llvm-svn: 76050
This commit is contained in:
Anton Korobeynikov 2009-07-16 14:30:29 +00:00
parent 080bdae588
commit 373515d99e
2 changed files with 17 additions and 2 deletions

View File

@ -130,8 +130,8 @@ SystemZTargetLowering::SystemZTargetLowering(SystemZTargetMachine &tm) :
setOperationAction(ISD::FCOS, MVT::f64, Expand);
// We have only 64-bit bitconverts
setOperationAction(ISD::BIT_CONVERT, MVT::f32, Promote);
setOperationAction(ISD::BIT_CONVERT, MVT::i32, Promote);
setOperationAction(ISD::BIT_CONVERT, MVT::f32, Expand);
setOperationAction(ISD::BIT_CONVERT, MVT::i32, Expand);
setOperationAction(ISD::UINT_TO_FP, MVT::i32, Expand);
setOperationAction(ISD::UINT_TO_FP, MVT::i64, Expand);

View File

@ -0,0 +1,15 @@
; ModuleID = 'bugpoint.test.bc'
target datalayout = "E-p:64:64:64-i8:8:16-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-a0:16:16"
target triple = "s390x-linux"
define float @foo(i32 signext %a) {
entry:
%b = bitcast i32 %a to float
ret float %b
}
define i32 @bar(float %a) {
entry:
%b = bitcast float %a to i32
ret i32 %b
}