Hi, neg<mode>2 was described as only being applicable to modes in the VDQM iterator. But the instruction generated, `NEG', has a .2D form.
This patch corrects the iterator used to one including V2DImode. Patch regression tested on aarch64-none-elf with no regressions. OK? Thanks, James 2013-02-28 James Greenhalgh <jame.greenha...@arm.com> * config/aarch64/aarch64-simd.md (neg<mode>2): Use VDQ iterator.
diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md index e5506fc..42c8d68 100644 --- a/gcc/config/aarch64/aarch64-simd.md +++ b/gcc/config/aarch64/aarch64-simd.md @@ -505,8 +505,8 @@ ) (define_insn "neg<mode>2" - [(set (match_operand:VDQM 0 "register_operand" "=w") - (neg:VDQM (match_operand:VDQM 1 "register_operand" "w")))] + [(set (match_operand:VDQ 0 "register_operand" "=w") + (neg:VDQ (match_operand:VDQ 1 "register_operand" "w")))] "TARGET_SIMD" "neg\t%0.<Vtype>, %1.<Vtype>" [(set_attr "simd_type" "simd_negabs")