* allow second operand being am imm in intel assembler, fixed #7719

git-svn-id: trunk@5823 -
This commit is contained in:
florian 2007-01-05 23:15:25 +00:00
parent d0b6292137
commit c759b114bf
3 changed files with 16 additions and 2 deletions

1
.gitattributes vendored
View File

@ -7935,6 +7935,7 @@ tests/webtbs/tw7568.pp svneol=native#text/plain
tests/webtbs/tw7637.pp svneol=native#text/plain
tests/webtbs/tw7643.pp svneol=native#text/plain
tests/webtbs/tw7679.pp svneol=native#text/plain
tests/webtbs/tw7719.pp svneol=native#text/plain
tests/webtbs/tw7756.pp svneol=native#text/plain
tests/webtbs/tw7817a.pp svneol=native#text/plain
tests/webtbs/tw7817b.pp svneol=native#text/plain

View File

@ -985,8 +985,8 @@ implementation
end;
top_const :
begin
{ allow 3rd operand being a constant and expect no size for shuf* etc. }
if (opsize=S_NO) and (i<>2) then
{ allow 2nd or 3rd operand being a constant and expect no size for shuf* etc. }
if (opsize=S_NO) and not(i in [1,2]) then
message(asmr_e_invalid_opcode_and_operand);
if (opsize<>S_W) and (longint(val)>=-128) and (val<=127) then
ot:=OT_IMM8 or OT_SIGNED

13
tests/webtbs/tw7719.pp Normal file
View File

@ -0,0 +1,13 @@
{ %cpu=i386,x86_64 }
{$asmmode intel}
program test;
{$APPTYPE CONSOLE}
begin
asm
psrldq xmm2,4
end;
end.