[llvm-commits] [llvm] r76050 - in /llvm/trunk: lib/Target/SystemZ/SystemZISelLowering.cpp test/CodeGen/SystemZ/2009-07-11-FloatBitConvert.ll

Anton Korobeynikov asl at math.spbu.ru
Thu Jul 16 07:30:31 PDT 2009


Author: asl
Date: Thu Jul 16 09:30:29 2009
New Revision: 76050

URL: http://llvm.org/viewvc/llvm-project?rev=76050&view=rev
Log:
Expand 32-bit bitconverts via memory

Added:
    llvm/trunk/test/CodeGen/SystemZ/2009-07-11-FloatBitConvert.ll
Modified:
    llvm/trunk/lib/Target/SystemZ/SystemZISelLowering.cpp

Modified: llvm/trunk/lib/Target/SystemZ/SystemZISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZISelLowering.cpp?rev=76050&r1=76049&r2=76050&view=diff

==============================================================================
--- llvm/trunk/lib/Target/SystemZ/SystemZISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/SystemZ/SystemZISelLowering.cpp Thu Jul 16 09:30:29 2009
@@ -130,8 +130,8 @@
   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);

Added: llvm/trunk/test/CodeGen/SystemZ/2009-07-11-FloatBitConvert.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/SystemZ/2009-07-11-FloatBitConvert.ll?rev=76050&view=auto

==============================================================================
--- llvm/trunk/test/CodeGen/SystemZ/2009-07-11-FloatBitConvert.ll (added)
+++ llvm/trunk/test/CodeGen/SystemZ/2009-07-11-FloatBitConvert.ll Thu Jul 16 09:30:29 2009
@@ -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
+}
\ No newline at end of file





More information about the llvm-commits mailing list