[llvm-commits] [llvm] r77940 - in /llvm/trunk: lib/Target/X86/X86ISelLowering.cpp lib/Target/X86/X86InstrMMX.td test/CodeGen/X86/2009-08-02-mmx-scalar-to-vector.ll test/CodeGen/X86/mmx-bitcast-to-i64.ll

Eli Friedman eli.friedman at gmail.com
Sun Aug 2 19:51:39 PDT 2009


On Sun, Aug 2, 2009 at 7:45 PM, Rafael
Espindola<rafael.espindola at gmail.com> wrote:
==============================================================================
> --- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Sun Aug  2 21:45:34 2009
> @@ -4447,6 +4447,11 @@
>                                    DAG.getNode(ISD::BIT_CONVERT, dl, MVT::i32,
>                                                Op.getOperand(0))));
>
> +  if (Op.getValueType() == MVT::v1i64 && Op.getOperand(0).getValueType() == MVT::i64)
> +    return DAG.getNode(ISD::BIT_CONVERT, dl, MVT::v1i64,
> +                       DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, MVT::v1i64,
> +                                   Op.getOperand(0)));
> +
>   SDValue AnyExt = DAG.getNode(ISD::ANY_EXTEND, dl, MVT::i32, Op.getOperand(0));
>   MVT VT = MVT::v2i32;
>   switch (Op.getValueType().getSimpleVT()) {

The BIT_CONVERT appears to be a no-op.

-Eli




More information about the llvm-commits mailing list