]> granicus.if.org Git - yasm/commitdiff
Implement all variations of the SSE and SSE2 cmp* family.
authorPeter Johnson <peter@tortall.net>
Thu, 5 Jul 2001 06:16:56 +0000 (06:16 -0000)
committerPeter Johnson <peter@tortall.net>
Thu, 5 Jul 2001 06:16:56 +0000 (06:16 -0000)
svn path=/trunk/yasm/; revision=103

src/instrs.dat

index ce3c7446573e46408b2cb21e8fd2ee025cc8985c..3b0f0f766cb1496a23757fc083861ad44e55657c 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: instrs.dat,v 1.23 2001/07/05 05:41:45 peter Exp $
+; $Id: instrs.dat,v 1.24 2001/07/05 06:16:56 peter Exp $
 ; List of valid instruction/operand combinations
 ;
 ;    Copyright (C) 2001  Peter Johnson
@@ -828,26 +828,30 @@ pxor!mmxsse               EF              P5              P4,SSE2
 !sseps XMMREG,rm128            nil     0F,$0.1         $2,$1           nil     @0
 !ssess XMMREG,rm128            nil     F3,0F,$0.1      $2,$1           nil     @0
 ;  With immediate
-!ssepsimm      XMMREG,rm128,imm8       nil     0F,$0.1         $2,$1   $3,8    KATMAI,SSE
+!ssepsimm      XMMREG,rm128,imm8       nil     0F,$0.1 $2,$1           $3,8    KATMAI,SSE
+;  Comparisons
+!ssecmpps      XMMREG,rm128    nil     0F,C2           $2,$1           $0.1,8  KATMAI,SSE
+!ssecmpss      XMMREG,rm128    nil     F3,0F,C2        $2,$1           $0.1,8  KATMAI,SSE
 addps!sseps            58              KATMAI,SSE
 addss!ssess            58              KATMAI,SSE
 andnps!sseps           55              KATMAI,SSE
 andps!sseps            54              KATMAI,SSE
-; cmpeqps
-; cmpeqss
-; cmpleps
-; cmpless
-; cmpltps
-; cmpltss
-; cmpneqps
-; cmpneqss
-; cmpnleps
-; cmpnless
-; cmpnltps
-; cmpordps
-; cmpordss
-; cmpunordps
-; cmpunordss
+cmpeqps!ssecmpps       0
+cmpeqss!ssecmpss       0
+cmpleps!ssecmpps       2
+cmpless!ssecmpss       2
+cmpltps!ssecmpps       1
+cmpltss!ssecmpss       1
+cmpneqps!ssecmpps      4
+cmpneqss!ssecmpss      4
+cmpnleps!ssecmpps      6
+cmpnless!ssecmpss      6
+cmpnltps!ssecmpps      5
+cmpnltss!ssecmpss      5
+cmpordps!ssecmpps      7
+cmpordss!ssecmpss      7
+cmpunordps!ssecmpps    3
+cmpunordss!ssecmpss    3
 cmpps!ssepsimm         C2
 cmpss  XMMREG,rm128,imm8       nil     F3,0F,C2        $2,$1   $3,8    KATMAI,SSE
 comiss!sseps           2F              KATMAI,SSE
@@ -934,26 +938,29 @@ xorps!sseps               57              KATMAI,SSE
 !sse2sd        XMMREG,rm128            nil     F2,0F,$0.1      $2,$1           nil     P4,SSE2
 ;  With immediate
 !sse2pdimm     XMMREG,rm128,imm8       nil     66,0F,$0.1      $2,$1   $3,8    P4,SSE2
+;  Comparisons
+!sse2cmppd     XMMREG,rm128    nil     66,0F,C2        $2,$1           $0.1,8  P4,SSE2
+!sse2cmpsd     XMMREG,rm128    nil     F2,0F,C2        $2,$1           $0.1,8  P4,SSE2
 addpd!sse2pd           58
 addsd!sse2sd           58
 andnpd!sse2pd          55
 andpd!sse2pd           54
-; cmpeqpd
-; cmpeqsd
-; cmplepd
-; cmplesd
-; cmpltpd
-; cmpltsd
-; cmpneqpd
-; cmpneqps
-; cmpnlepd
-; cmpnlesd
-; cmpnltpd
-; cmpnltsd
-; cmpordpd
-; cmpordsd
-; cmpunordpd
-; cmpunordsd
+cmpeqpd!sse2cmppd      0
+cmpeqsd!sse2cmpsd      0
+cmplepd!sse2cmppd      2
+cmplesd!sse2cmpsd      2
+cmpltpd!sse2cmppd      1
+cmpltsd!sse2cmpsd      1
+cmpneqpd!sse2cmppd     4
+cmpneqps!sse2cmpsd     4
+cmpnlepd!sse2cmppd     6
+cmpnlesd!sse2cmpsd     6
+cmpnltpd!sse2cmppd     5
+cmpnltsd!sse2cmpsd     5
+cmpordpd!sse2cmppd     7
+cmpordsd!sse2cmpsd     7
+cmpunordpd!sse2cmppd   3
+cmpunordsd!sse2cmpsd   3
 cmppd!sse2pdimm                C2
 cmpsd  XMMREG,rm128,imm8       nil     F2,0F,C2        $2,$1   $3,8    P4,SSE2
 comisd!sse2pd          2F