2018-09-11  Uros Bizjak  <ubiz...@gmail.com>

    * config/i386/i386.md (define_attr "type"): Remove mpxmov, mpxmk,
    mpxchk, mpxld and mpxst types.
    (define_attr length_immediate): Remove all processing of mpx types.
    (define_attr prefix_0f): Ditto.
    (define_attr memory): Ditto.

Patch was bootstrapped and regression tested on x86_64-linux-gnu {,-m32}.

Committed to mainline SVN.

Uros.
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 4a0a508e2b5..1e7241c87c2 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -453,8 +453,7 @@
    ssecvt,ssecvt1,sseicvt,sseins,
    sseshuf,sseshuf1,ssemuladd,sse4arg,
    lwp,mskmov,msklog,
-   mmx,mmxmov,mmxadd,mmxmul,mmxcmp,mmxcvt,mmxshft,
-   mpxmov,mpxmk,mpxchk,mpxld,mpxst"
+   mmx,mmxmov,mmxadd,mmxmul,mmxcmp,mmxcvt,mmxshft"
   (const_string "other"))
 
 ;; Main data type used by the insn
@@ -483,8 +482,7 @@
 ;; The (bounding maximum) length of an instruction immediate.
 (define_attr "length_immediate" ""
   (cond [(eq_attr "type" "incdec,setcc,icmov,str,lea,other,multi,idiv,leave,
-                         bitmanip,imulx,msklog,mskmov,mpxmk,mpxmov,mpxchk,
-                         mpxld,mpxst")
+                         bitmanip,imulx,msklog,mskmov")
           (const_int 0)
         (eq_attr "unit" "i387,sse,mmx")
           (const_int 0)
@@ -545,8 +543,7 @@
 ;; Set when 0f opcode prefix is used.
 (define_attr "prefix_0f" ""
   (if_then_else
-    (ior (eq_attr "type" "imovx,setcc,icmov,bitmanip,msklog,mskmov,
-                         mpxmk,mpxmov,mpxchk,mpxld,mpxst")
+    (ior (eq_attr "type" "imovx,setcc,icmov,bitmanip,msklog,mskmov")
         (eq_attr "unit" "sse,mmx"))
     (const_int 1)
     (const_int 0)))
@@ -695,16 +692,12 @@
 (define_attr "memory" "none,load,store,both,unknown"
   (cond [(eq_attr "type" "other,multi,str,lwp")
           (const_string "unknown")
-        (eq_attr "type" "lea,fcmov,fpspc,mpxmk,mpxchk")
+        (eq_attr "type" "lea,fcmov,fpspc")
           (const_string "none")
         (eq_attr "type" "fistp,leave")
           (const_string "both")
         (eq_attr "type" "frndint")
           (const_string "load")
-        (eq_attr "type" "mpxld")
-          (const_string "load")
-        (eq_attr "type" "mpxst")
-          (const_string "store")
         (eq_attr "type" "push")
           (if_then_else (match_operand 1 "memory_operand")
             (const_string "both")
@@ -750,7 +743,7 @@
                   fmov,fcmp,fsgn,
                   sse,ssemov,ssecmp,ssecomi,ssecvt,ssecvt1,sseicvt,
                   sselog1,sseshuf1,sseadd1,sseiadd1,sseishft1,
-                  mmx,mmxmov,mmxcmp,mmxcvt,mskmov,msklog,mpxmov")
+                  mmx,mmxmov,mmxcmp,mmxcvt,mskmov,msklog")
              (match_operand 2 "memory_operand"))
           (const_string "load")
         (and (eq_attr "type" "icmov,ssemuladd,sse4arg")

Reply via email to