From 01ac90f4d60b3e9c85c1c9ae59c8ff1f4fcb993c Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Thu, 5 Jul 2001 06:16:56 +0000 Subject: [PATCH] Implement all variations of the SSE and SSE2 cmp* family. svn path=/trunk/yasm/; revision=103 --- src/instrs.dat | 73 +++++++++++++++++++++++++++----------------------- 1 file changed, 40 insertions(+), 33 deletions(-) diff --git a/src/instrs.dat b/src/instrs.dat index ce3c7446..3b0f0f76 100644 --- a/src/instrs.dat +++ b/src/instrs.dat @@ -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 -- 2.40.0