fix efscmp* and efstst* instructions

This commit is contained in:
Greg Hogan 2021-10-25 21:04:22 -07:00 committed by ghidra1
parent ef179addc7
commit c91d117187

View file

@ -141,7 +141,7 @@ define pcodeop ConvertFloatingPointFromUnsignedFraction;
#define pcodeop FloatingPointCompareEqual; #define pcodeop FloatingPointCompareEqual;
:efscmpeq CRFD,A,B is OP=4 & CRFD & A & B & XOP_0_10=0x2CE & BITS_21_22=0 :efscmpeq CRFD,A,B is OP=4 & CRFD & A & B & XOP_0_10=0x2CE & BITS_21_22=0
{ {
CRFD = A:4 f== B:4; CRFD[2,1] = A:4 f== B:4;
} }
# ================================================================= # =================================================================
@ -151,14 +151,14 @@ define pcodeop ConvertFloatingPointFromUnsignedFraction;
#define pcodeop FloatingPointCompareGreaterThan; #define pcodeop FloatingPointCompareGreaterThan;
:efscmpgt CRFD,A,B is OP=4 & CRFD & A & B & XOP_0_10=0x2CC & BITS_21_22=0 :efscmpgt CRFD,A,B is OP=4 & CRFD & A & B & XOP_0_10=0x2CC & BITS_21_22=0
{ {
CRFD = A:4 f> B:4; CRFD[2,1] = A:4 f> B:4;
} }
# efscmplt CRFD,rA,rB 010 1100 1101 # efscmplt CRFD,rA,rB 010 1100 1101
#define pcodeop FloatingPointCompareLessThan; #define pcodeop FloatingPointCompareLessThan;
:efscmplt CRFD,A,B is OP=4 & CRFD & A & B & XOP_0_10=0x2CD & BITS_21_22=0 :efscmplt CRFD,A,B is OP=4 & CRFD & A & B & XOP_0_10=0x2CD & BITS_21_22=0
{ {
CRFD = A:4 f< B:4; CRFD[2,1] = A:4 f< B:4;
} }
# efsctsf rT,rB 010 1101 0111 # efsctsf rT,rB 010 1101 0111
@ -451,14 +451,14 @@ define pcodeop ConvertFloatingPointFromUnsignedFraction;
#define pcodeop FloatingPointTestEqual; #define pcodeop FloatingPointTestEqual;
:efststeq CRFD,A,B is OP=4 & CRFD & A & B & XOP_0_10=0x2DE & BITS_21_22=0 :efststeq CRFD,A,B is OP=4 & CRFD & A & B & XOP_0_10=0x2DE & BITS_21_22=0
{ {
CRFD = A:4 f== B:4; CRFD[2,1] = A:4 f== B:4;
} }
# efststgt CRFD,rA,rB 010 1101 1100 # efststgt CRFD,rA,rB 010 1101 1100
#define pcodeop FloatingPointTestGreaterThan; #define pcodeop FloatingPointTestGreaterThan;
:efststgt CRFD,A,B is OP=4 & CRFD & A & B & XOP_0_10=0x2DC & BITS_21_22=0 :efststgt CRFD,A,B is OP=4 & CRFD & A & B & XOP_0_10=0x2DC & BITS_21_22=0
{ {
CRFD = A:4 f> B:4; CRFD[2,1] = A:4 f> B:4;
} }
# ================================================================= # =================================================================
@ -468,5 +468,5 @@ define pcodeop ConvertFloatingPointFromUnsignedFraction;
#define pcodeop FloatingPointTestLessThan; #define pcodeop FloatingPointTestLessThan;
:efststlt CRFD,A,B is OP=4 & CRFD & A & B & XOP_0_10=0x2DD & BITS_21_22=0 :efststlt CRFD,A,B is OP=4 & CRFD & A & B & XOP_0_10=0x2DD & BITS_21_22=0
{ {
CRFD = A:4 f< B:4; CRFD[2,1] = A:4 f< B:4;
} }