Skip to content

Commit 9ddf4a6

Browse files
committed
LoongArch: Fix invalid subregs in xorsign [PR118501]
The test case added in r15-7073 now triggers an ICE, indicating we need the same fix as AArch64. gcc/ChangeLog: PR target/118501 * config/loongarch/loongarch.md (@xorsign<mode>3): Use force_lowpart_subreg.
1 parent 06b7873 commit 9ddf4a6

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

gcc/config/loongarch/loongarch.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1347,8 +1347,8 @@
13471347
machine_mode lsx_mode
13481348
= <MODE>mode == SFmode ? V4SFmode : V2DFmode;
13491349
rtx tmp = gen_reg_rtx (lsx_mode);
1350-
rtx op1 = lowpart_subreg (lsx_mode, operands[1], <MODE>mode);
1351-
rtx op2 = lowpart_subreg (lsx_mode, operands[2], <MODE>mode);
1350+
rtx op1 = force_lowpart_subreg (lsx_mode, operands[1], <MODE>mode);
1351+
rtx op2 = force_lowpart_subreg (lsx_mode, operands[2], <MODE>mode);
13521352
emit_insn (gen_xorsign3 (lsx_mode, tmp, op1, op2));
13531353
emit_move_insn (operands[0],
13541354
lowpart_subreg (<MODE>mode, tmp, lsx_mode));

0 commit comments

Comments
 (0)