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

Chris Lattner clattner at apple.com
Wed Sep 28 11:32:22 PDT 2011


On Sep 26, 2011, at 11:57 AM, Justin Holewinski wrote:

> 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

Hi Justin,

Would it make more sense to define these as Pat<> patterns (which map to existing instructions) than as new instructions?

-Chris

> 
> 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 {
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list