[llvm-commits] [llvm] r168028 - /llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp

Rafael EspĂ­ndola rafael.espindola at gmail.com
Mon Nov 19 07:11:50 PST 2012


testcase?

On 15 November 2012 03:02, Craig Topper <craig.topper at gmail.com> wrote:
> Author: ctopper
> Date: Thu Nov 15 02:02:19 2012
> New Revision: 168028
>
> URL: http://llvm.org/viewvc/llvm-project?rev=168028&view=rev
> Log:
> Make a bunch of floating point operations on vectors Expand so that instruction selection won't fail.
>
> Modified:
>     llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp
>
> Modified: llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp?rev=168028&r1=168027&r2=168028&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp (original)
> +++ llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp Thu Nov 15 02:02:19 2012
> @@ -347,6 +347,16 @@
>        setOperationAction(ISD::UREM, VT, Expand);
>        setOperationAction(ISD::FDIV, VT, Expand);
>        setOperationAction(ISD::FNEG, VT, Expand);
> +      setOperationAction(ISD::FSQRT, VT, Expand);
> +      setOperationAction(ISD::FLOG, VT, Expand);
> +      setOperationAction(ISD::FLOG10, VT, Expand);
> +      setOperationAction(ISD::FLOG2, VT, Expand);
> +      setOperationAction(ISD::FEXP, VT, Expand);
> +      setOperationAction(ISD::FEXP2, VT, Expand);
> +      setOperationAction(ISD::FSIN, VT, Expand);
> +      setOperationAction(ISD::FCOS, VT, Expand);
> +      setOperationAction(ISD::FABS, VT, Expand);
> +      setOperationAction(ISD::FPOWI, VT, Expand);
>        setOperationAction(ISD::FFLOOR, VT, Expand);
>        setOperationAction(ISD::FCEIL,  VT, Expand);
>        setOperationAction(ISD::FTRUNC, VT, Expand);
> @@ -378,12 +388,6 @@
>        setLoadExtAction(ISD::EXTLOAD, VT, Expand);
>      }
>
> -    for (unsigned i = (unsigned)MVT::FIRST_FP_VECTOR_VALUETYPE;
> -         i <= (unsigned)MVT::LAST_FP_VECTOR_VALUETYPE; ++i) {
> -      MVT::SimpleValueType VT = (MVT::SimpleValueType)i;
> -      setOperationAction(ISD::FSQRT, VT, Expand);
> -    }
> -
>      // We can custom expand all VECTOR_SHUFFLEs to VPERM, others we can handle
>      // with merges, splats, etc.
>      setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v16i8, Custom);
>
>
> _______________________________________________
> 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