]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
i386: Swap compare operands in ustrunc patterns
authorUros Bizjak <ubizjak@gmail.com>
Wed, 10 Jul 2024 21:00:00 +0000 (23:00 +0200)
committerUros Bizjak <ubizjak@gmail.com>
Wed, 10 Jul 2024 21:01:03 +0000 (23:01 +0200)
A last minute change led to a wrong operand order in the compare insn.

gcc/ChangeLog:

* config/i386/i386.md (ustruncdi<mode>2): Swap compare operands.
(ustruncsi<mode>2): Ditto.
(ustrunchiqi2): Ditto.

gcc/config/i386/i386.md

index e2f30695d70e4edbf6e3bbcc16b18bc7fb3b8631..de9f4ba04962296ffda7af24d3da615566d6c072 100644 (file)
   rtx sat = force_reg (DImode, GEN_INT (GET_MODE_MASK (<MODE>mode)));
   rtx dst;
 
-  emit_insn (gen_cmpdi_1 (op1, sat));
+  emit_insn (gen_cmpdi_1 (sat, op1));
 
   if (TARGET_CMOVE)
     {
   rtx sat = force_reg (SImode, GEN_INT (GET_MODE_MASK (<MODE>mode)));
   rtx dst;
 
-  emit_insn (gen_cmpsi_1 (op1, sat));
+  emit_insn (gen_cmpsi_1 (sat, op1));
 
   if (TARGET_CMOVE)
     {
   rtx sat = force_reg (HImode, GEN_INT (GET_MODE_MASK (QImode)));
   rtx dst;
 
-  emit_insn (gen_cmphi_1 (op1, sat));
+  emit_insn (gen_cmphi_1 (sat, op1));
 
   if (TARGET_CMOVE)
     {