[llvm] r241611 - Add a pattern for a nvcast from v2f64 -> v4f32
Arnold Schwaighofer
aschwaighofer at apple.com
Tue Jul 7 11:46:47 PDT 2015
It was crashing before.
> On Jul 7, 2015, at 11:46 AM, Quentin Colombet <qcolombet at apple.com> wrote:
>
> Hi Arnold,
>
> The test case is missing some CHECK lines.
>
> Cheers,
> Q.
>> On Jul 7, 2015, at 11:31 AM, Arnold Schwaighofer <aschwaighofer at apple.com> wrote:
>>
>> Author: arnolds
>> Date: Tue Jul 7 13:31:55 2015
>> New Revision: 241611
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=241611&view=rev
>> Log:
>> Add a pattern for a nvcast from v2f64 -> v4f32
>>
>> Since the NvCast is generated by the selection process the concerns about
>> endianess and bit reversal don't apply.
>>
>> rdar://21703486
>>
>> Added:
>> llvm/trunk/test/CodeGen/AArch64/arm64-nvcast.ll
>> Modified:
>> llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.td
>>
>> Modified: llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.td
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.td?rev=241611&r1=241610&r2=241611&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.td (original)
>> +++ llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.td Tue Jul 7 13:31:55 2015
>> @@ -5315,6 +5315,7 @@ def : Pat<(v8i16 (AArch64NvCast (v2f64 F
>> def : Pat<(v4i32 (AArch64NvCast (v2f64 FPR128:$src))), (v4i32 FPR128:$src)>;
>> def : Pat<(v2i64 (AArch64NvCast (v2f64 FPR128:$src))), (v2i64 FPR128:$src)>;
>> def : Pat<(v2f64 (AArch64NvCast (v2f64 FPR128:$src))), (v2f64 FPR128:$src)>;
>> +def : Pat<(v4f32 (AArch64NvCast (v2f64 FPR128:$src))), (v4f32 FPR128:$src)>;
>>
>> let Predicates = [IsLE] in {
>> def : Pat<(v8i8 (bitconvert GPR64:$Xn)), (COPY_TO_REGCLASS GPR64:$Xn, FPR64)>;
>>
>> Added: llvm/trunk/test/CodeGen/AArch64/arm64-nvcast.ll
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-nvcast.ll?rev=241611&view=auto
>> ==============================================================================
>> --- llvm/trunk/test/CodeGen/AArch64/arm64-nvcast.ll (added)
>> +++ llvm/trunk/test/CodeGen/AArch64/arm64-nvcast.ll Tue Jul 7 13:31:55 2015
>> @@ -0,0 +1,8 @@
>> +; RUN: llc < %s -mtriple=arm64-apple-ios
>> +
>> +define void @test(float * %p1, i32 %v1) {
>> +entry:
>> + %v2 = extractelement <3 x float> <float 0.000000e+00, float 2.000000e+00, float 0.000000e+00>, i32 %v1
>> + store float %v2, float* %p1, align 4
>> + ret void
>> +}
>>
>>
>> _______________________________________________
>> 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