1
0
mirror of https://github.com/c64scene-ar/llvm-6502.git synced 2025-03-20 11:32:33 +00:00

Expand 32-bit bitconverts via memory

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76050 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Anton Korobeynikov 2009-07-16 14:30:29 +00:00
parent f2fd8ea1c9
commit bb8a04806d
2 changed files with 17 additions and 2 deletions
lib/Target/SystemZ
test/CodeGen/SystemZ

@ -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);

@ -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
}