Patchwork [i386] : Fix *movabs<mode>_1 constraints

login
register
mail settings
Submitter Uros Bizjak
Date Feb. 27, 2012, 1:49 p.m.
Message ID <CAFULd4a0V4M55sQ=XPHm1GSbC4-rc3duQ8zxMyF5GzX-3hHcBg@mail.gmail.com>
Download mbox | patch
Permalink /patch/143196/
State New
Headers show

Comments

Uros Bizjak - Feb. 27, 2012, 1:49 p.m.
Hello!

We should not use "e" constraint for QI/HImode immediates. Fixed by
using correct mode attribute.

2012-02-27  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/i386.md (*movabs<mode>_1): Fix operand 1 constraints.

Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline SVN.

Uros.

Patch

Index: config/i386/i386.md
===================================================================
--- config/i386/i386.md	(revision 184591)
+++ config/i386/i386.md	(working copy)
@@ -2361,7 +2361,7 @@ 
 ;; into register when rax is not available
 (define_insn "*movabs<mode>_1"
   [(set (mem:SWI1248x (match_operand:DI 0 "x86_64_movabs_operand" "i,r"))
-	(match_operand:SWI1248x 1 "nonmemory_operand" "a,er"))]
+	(match_operand:SWI1248x 1 "nonmemory_operand" "a,r<i>"))]
   "TARGET_64BIT && ix86_check_movabs (insn, 0)"
   "@
    movabs{<imodesuffix>}\t{%1, %P0|%P0, %1}