[PATCH] [AArch64] zext/sext from v1xx to v1xx
Tim Northover
t.p.northover at gmail.com
Fri Jan 24 03:31:55 PST 2014
> Attached is to fix pattern match failure for zext/sext from v1xx to v1xx.
+def : Pat<(v1i64 (zext (v1i8 FPR8:$Rn))),
+ (v1i64 (ANDvvv_8B
+ (v8i8 (SUBREG_TO_REG (i64 0), $Rn, sub_8)),
+ (v8i8 (MOVIdi 1))))>;
I'm not sure how much of an improvement it would be, but I think
"(v1i64 (SUBREG_TO_REG (i64 0), (DUPbv_8 $Rn), sub_8))" (i.e. a single
"mov bD, vN.b[0]" might be more efficient. Less register pressure and
a single instruction.
Other than that, it looks good.
Cheers.
Tim.
More information about the llvm-commits
mailing list