Merge remote-tracking branch 'origin/patch'

This commit is contained in:
Ryan Kurtz
2026-05-19 06:06:37 -04:00
2 changed files with 10 additions and 9 deletions
@@ -539,8 +539,9 @@ define token instr(32)
pcrel = (19,20)
pcrel2 = (18,20)
cc = (18,20)
immed1625 = (16,25) signed
immed1623 = (16,23) signed
immed1625 = (16,25)
simmed1625 = (16,25) signed
simmed1623 = (16,23) signed
rt32 = (16,20)
rt = (16,20)
rtmtdsp = (16,20)
@@ -617,7 +618,7 @@ define token instr(32)
spec2 = (9,10)
svrs_s1 = (10,10)
spec3 = (8,10)
simmed9 = (7,15)
simmed9 = (7,15) signed
zero2 = (7,10)
code = (6,15)
fdD = (6,10)
@@ -650,7 +651,7 @@ define token instr(32)
immed = (0,15)
simmed = (0,15) signed
simmseq = (6,15) signed
simmed11 = (0,10)
simmed11 = (0,10) signed
;
attach variables [ rs rt rd base index baser6 ] [
@@ -989,22 +989,22 @@ define pcodeop SUBUH.QB;
RD = DSPControl & immed1625:$(REGSIZE);
}
:rddsp RD is $(AMODE) & prime=0x1f & immed1625=0x1f & RD & fct2=0x12 & fct=0x38 {
:rddsp RD is $(AMODE) & prime=0x1f & simmed1625=0x1f & RD & fct2=0x12 & fct=0x38 {
RD = DSPControl;
}
# REPL.PH Purpose: Replicate Immediate Integer into all Vector Element Positions
:repl.ph RD, immed1625 is $(AMODE) & prime=0x1f & immed1625 & RD & fct2=0xa & fct=0x12 {
val:2 = immed1625;
:repl.ph RD, simmed1625 is $(AMODE) & prime=0x1f & simmed1625 & RD & fct2=0xa & fct=0x12 {
val:2 = simmed1625;
repl:$(REGSIZE) = sext(val) << 16 | zext(val);
RD = repl;
}
# REPL.QB Purpose: Replicate Immediate Integer into all Vector Element Positions
:repl.qb RD, immed1623 is $(AMODE) & prime=0x1f & zero2425=0x0 & immed1623 & RD & fct2=0x2 & fct=0x12 {
byte:1 = immed1623;
:repl.qb RD, simmed1623 is $(AMODE) & prime=0x1f & zero2425=0x0 & simmed1623 & RD & fct2=0x2 & fct=0x12 {
byte:1 = simmed1623;
RD = sext((byte << 24) | (byte << 16) | (byte << 8) | (byte));
}