[llvm-commits] [llvm] r140548 - /llvm/trunk/lib/Target/PTX/PTXInstrInfo.td

Justin Holewinski justin.holewinski at gmail.com
Mon Sep 26 11:57:24 PDT 2011


Author: jholewinski
Date: Mon Sep 26 13:57:24 2011
New Revision: 140548

URL: http://llvm.org/viewvc/llvm-project?rev=140548&view=rev
Log:
PTX: Implement ISD::ANY_EXTEND

Modified:
    llvm/trunk/lib/Target/PTX/PTXInstrInfo.td

Modified: llvm/trunk/lib/Target/PTX/PTXInstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PTX/PTXInstrInfo.td?rev=140548&r1=140547&r2=140548&view=diff
==============================================================================
--- llvm/trunk/lib/Target/PTX/PTXInstrInfo.td (original)
+++ llvm/trunk/lib/Target/PTX/PTXInstrInfo.td Mon Sep 26 13:57:24 2011
@@ -849,6 +849,18 @@
   : InstPTX<(outs RegF64:$d), (ins RegF32:$a), "cvt.f64.f32\t$d, $a",
             [(set RegF64:$d, (fextend RegF32:$a))]>;
 
+// NOTE: These are temporarily here to help test some Clang-generated code.
+// We really need to properly introduce anyext and bitconvert into the back-end.
+// ANY_EXTEND
+def ANY_EXTEND_I64_I32
+  : InstPTX<(outs RegI64:$d), (ins RegI32:$a), "cvt.u64.u32\t$d, $a",
+            [(set RegI64:$d, (anyext RegI32:$a))]>;
+
+// BITCAST
+def BITCAST_I32_F32
+  : InstPTX<(outs RegI32:$d), (ins RegF32:$a), "mov.b32\t$d, $a",
+            [(set RegI32:$d, (bitconvert RegF32:$a))]>;
+
 ///===- Control Flow Instructions -----------------------------------------===//
 
 let isBranch = 1, isTerminator = 1, isBarrier = 1 in {





More information about the llvm-commits mailing list