Browse Source

+ Added missing PMULLD instruction, part of Mantis #19910

git-svn-id: trunk@18106 -
sergei 14 years ago
parent
commit
0231863fce

+ 1 - 0
compiler/i386/i386att.inc

@@ -662,6 +662,7 @@
 'pmovzxwq',
 'pmovzxdq',
 'pmuldq',
+'pmulld',
 'ptest',
 'roundps',
 'roundpd',

+ 1 - 0
compiler/i386/i386atts.inc

@@ -667,6 +667,7 @@ attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
+attsufNONE,
 attsufINT,
 attsufNONE,
 attsufNONE,

+ 1 - 0
compiler/i386/i386int.inc

@@ -662,6 +662,7 @@
 'pmovzxwq',
 'pmovzxdq',
 'pmuldq',
+'pmulld',
 'ptest',
 'roundps',
 'roundpd',

+ 1 - 1
compiler/i386/i386nop.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from x86ins.dat }
-1203;
+1204;

+ 1 - 0
compiler/i386/i386op.inc

@@ -662,6 +662,7 @@ A_PMOVZXWD,
 A_PMOVZXWQ,
 A_PMOVZXDQ,
 A_PMULDQ,
+A_PMULLD,
 A_PTEST,
 A_ROUNDPS,
 A_ROUNDPD,

+ 1 - 0
compiler/i386/i386prop.inc

@@ -667,6 +667,7 @@
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
+(Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_Mop1, Ch_Rop2, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),

+ 7 - 0
compiler/i386/i386tab.inc

@@ -8281,6 +8281,13 @@
     code    : #241#3#15#56#40#72;
     flags   : if_sse41 or if_sm
   ),
+  (
+    opcode  : A_PMULLD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#64#72;
+    flags   : if_sse41 or if_sm
+  ),
   (
     opcode  : A_PTEST;
     ops     : 2;

+ 4 - 0
compiler/x86/x86ins.dat

@@ -3321,6 +3321,10 @@ xmmreg,xmmrm          \361\3\x0F\x38\x35\110               SSE41,SM
 (Ch_All, Ch_None, Ch_None)
 xmmreg,xmmrm          \361\3\x0F\x38\x28\110               SSE41,SM
 
+[PMULLD]
+(Ch_All, Ch_None, Ch_None)
+xmmreg,xmmrm          \361\3\x0F\x38\x40\110               SSE41,SM
+
 [PTEST]
 (Ch_All, Ch_None, Ch_None)
 xmmreg,xmmrm          \361\3\x0F\x38\x17\110               SSE41,SM

+ 1 - 0
compiler/x86_64/x8664ats.inc

@@ -667,6 +667,7 @@ attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
+attsufNONE,
 attsufINT,
 attsufNONE,
 attsufNONE,

+ 1 - 0
compiler/x86_64/x8664att.inc

@@ -662,6 +662,7 @@
 'pmovzxwq',
 'pmovzxdq',
 'pmuldq',
+'pmulld',
 'ptest',
 'roundps',
 'roundpd',

+ 1 - 0
compiler/x86_64/x8664int.inc

@@ -662,6 +662,7 @@
 'pmovzxwq',
 'pmovzxdq',
 'pmuldq',
+'pmulld',
 'ptest',
 'roundps',
 'roundpd',

+ 1 - 1
compiler/x86_64/x8664nop.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from x86ins.dat }
-1212;
+1213;

+ 1 - 0
compiler/x86_64/x8664op.inc

@@ -662,6 +662,7 @@ A_PMOVZXWD,
 A_PMOVZXWQ,
 A_PMOVZXDQ,
 A_PMULDQ,
+A_PMULLD,
 A_PTEST,
 A_ROUNDPS,
 A_ROUNDPD,

+ 1 - 0
compiler/x86_64/x8664pro.inc

@@ -667,6 +667,7 @@
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
+(Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_Mop1, Ch_Rop2, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),

+ 7 - 0
compiler/x86_64/x8664tab.inc

@@ -8302,6 +8302,13 @@
     code    : #241#3#15#56#40#72;
     flags   : if_sse41 or if_sm
   ),
+  (
+    opcode  : A_PMULLD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#64#72;
+    flags   : if_sse41 or if_sm
+  ),
   (
     opcode  : A_PTEST;
     ops     : 2;