This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
*************** rs6000_emit_vector_select (rtx dest, rtx *** 10667,10673 ****
t = gen_rtx_fmt_ee (SET, VOIDmode, temp, gen_rtx_fmt_Ei (UNSPEC, dest_mode, ! gen_rtvec (3, op1, op2, mask), vsel_insn_index)); emit_insn (t); emit_move_insn (dest, temp); --- 10667,10673 ----
t = gen_rtx_fmt_ee (SET, VOIDmode, temp, gen_rtx_fmt_Ei (UNSPEC, dest_mode, ! gen_rtvec (3, op2, op1, mask), vsel_insn_index));
I don't have enough context to know whether this is correct, but you should pass this separately though an rs6000 maintainer.
OK. It was supplying operands in wrong order to vector select
instruction. When I posted patch for rs6000_emit_vector_select (),
test case only checked compilation. Obviously it did not catch the change
of behavior in vectorized loop because of this bug.
Thanks, - Devang
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |