Hi, This patch fixes a bug in the move_lo_quad_<mode> pattern.
The pattern, shown below, issues a scalar MOV instruction for vector modes: (define_insn "move_lo_quad_<mode>" [(set (match_operand:VQ 0 "register_operand" "=w,w,w") (vec_concat:VQ (match_operand:<VHALF> 1 "register_operand" "w,r,r") (vec_duplicate:<VHALF> (const_int 0))))] "TARGET_SIMD" "@ mov\\t%d0, %d1 fmov\t%d0, %1 ... This is fixed by using DUP for the first alternative instead. This passes the full regression test suite in aarch64-elf. OK for trunk? ----- Thanks Sofiane
aarch64-mov-lo-quad-fix.patch
Description: Binary data