From: Segher Boessenkool Date: Mon, 11 Apr 2022 15:43:38 +0000 (+0000) Subject: rs6000: Fix unpack for no-direct-move (PR103623) X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0508f0b810985f4a8543ce44701ec7330ef29796;p=test_jj.git rs6000: Fix unpack for no-direct-move (PR103623) The _dm alternative works fine for soft-float, but the _nodm variant pattern is missing that alternative. So, let's add that. There probably should be an r,r,i alternative as well (or we can make it rm,r,i), but that is for later. 2022-04-11 Segher Boessenkool PR target/105213 PR target/103623 * config/rs6000/rs6000.md (unpack_nodm): Add m,r,i alternative. --- diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index fdfbc65..f05b835 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -14580,10 +14580,10 @@ [(set_attr "type" "fp,fpstore,mtvsr,mfvsr,store")]) (define_insn_and_split "unpack_nodm" - [(set (match_operand: 0 "nonimmediate_operand" "=d,m") + [(set (match_operand: 0 "nonimmediate_operand" "=d,m,m") (unspec: - [(match_operand:FMOVE128 1 "register_operand" "d,d") - (match_operand:QI 2 "const_0_to_1_operand" "i,i")] + [(match_operand:FMOVE128 1 "register_operand" "d,d,r") + (match_operand:QI 2 "const_0_to_1_operand" "i,i,i")] UNSPEC_UNPACK_128BIT))] "(!TARGET_POWERPC64 || !TARGET_DIRECT_MOVE) && FLOAT128_2REG_P (mode)" "#" @@ -14600,7 +14600,7 @@ operands[3] = gen_rtx_REG (mode, fp_regno); } - [(set_attr "type" "fp,fpstore")]) + [(set_attr "type" "fp,fpstore,store")]) (define_insn_and_split "pack" [(set (match_operand:FMOVE128 0 "register_operand" "=&d")