https://gcc.gnu.org/g:fa4d7041ec4848d186ba13af7d3db6d030fff269
commit fa4d7041ec4848d186ba13af7d3db6d030fff269 Author: Michael Meissner <[email protected]> Date: Tue Sep 9 22:24:44 2025 -0400 Add converts between 16-bit fp and integers 2025-09-09 Michael Meissner <[email protected]> gcc/ * config/rs6000/rs6000.md (movhf_internal): Use 16-bit load/stores instead of 32-bit. Diff: --- gcc/config/rs6000/rs6000.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index a81758e62a02..82214945ccdf 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -8226,28 +8226,28 @@ (define_insn "*movhf_internal" [(set (match_operand:HF 0 "nonimmediate_operand" - "=wa, wa, Z, r, r, + "=wa, wa, Z, r, r, m, r, wa, wa, r") (match_operand:HF 1 "any_operand" - "wa, Z, wa, r, m, - r, wa, r, j, j"))] + "wa, Z, wa, r, m, + r, wa, r, j, j"))] "TARGET_IEEE16 && (gpc_reg_operand (operands[0], HFmode) || gpc_reg_operand (operands[1], HFmode))" "@ xxlor %x0,%x1,%x1 - lxsiwzx %x0,%y1 - stxsiwx %x1,%y0 + lxsihzx %x0,%y1 + stxsihx %x1,%y0 mr %0,%1 - lwz%U1%X1 %0,%1 - stw%U0%X0 %1,%0 + lhz%U1%X1 %0,%1 + sth%U0%X0 %1,%0 mfvsrwz %0,%x1 mtvsrwz %x0,%1 xxspltib %x0,0 li %0,0" - [(set_attr "type" "vecsimple, fpload, fpstore, *, load, - store, mtvsr, mfvsr, vecsimple, *")]) + [(set_attr "type" "vecsimple, fpload, fpstore, *, load, + store, mtvsr, mfvsr, vecsimple, *")])
