|
@@ -168,5 +168,67 @@ asm
|
|
// movsd %xmm8,(%rax)
|
|
// movsd %xmm8,(%rax)
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+const
|
|
|
|
+ test_expected : array[0..745] of byte = (
|
|
|
|
+ $66,$44,$0F,$D0,$05,$78,$56,$34,
|
|
|
|
+ $12,$F2,$44,$0F,$D0,$05,$78,$56,$34,$12,$66,$44,$0F,$2F,$05,
|
|
|
|
+ $78,$56,$34,$12,$44,$0F,$2F,$05,$78,$56,$34,$12,$F3,$44,$0F,
|
|
|
|
+ $E6,$05,$78,$56,$34,$12,$F2,$44,$0F,$E6,$05,$78,$56,$34,$12,
|
|
|
|
+ $44,$0F,$5A,$05,$78,$56,$34,$12,$F3,$44,$0F,$5B,$05,$78,$56,
|
|
|
|
+ $34,$12,$F3,$44,$0F,$2A,$C0,$F3,$44,$0F,$2A,$C0,$F3,$4C,$0F,
|
|
|
|
+ $2A,$C0,$F3,$4C,$0F,$2A,$C0,$F3,$44,$0F,$2A,$00,$F3,$44,$0F,
|
|
|
|
+ $2A,$00,$F3,$44,$0F,$2A,$00,$F2,$44,$0F,$2A,$C0,$F2,$44,$0F,
|
|
|
|
+ $2A,$C0,$F2,$4C,$0F,$2A,$C0,$F2,$4C,$0F,$2A,$C0,$F2,$44,$0F,
|
|
|
|
+ $2A,$00,$F2,$44,$0F,$2A,$00,$F2,$4C,$0F,$2A,$00,$F3,$44,$0F,
|
|
|
|
+ $7F,$05,$78,$56,$34,$12,$F3,$44,$0F,$6F,$05,$78,$56,$34,$12,
|
|
|
|
+ $66,$44,$0F,$7F,$05,$78,$56,$34,$12,$66,$44,$0F,$6F,$05,$78,
|
|
|
|
+ $56,$34,$12,$F2,$44,$0F,$7C,$05,$78,$56,$34,$12,$66,$44,$0F,
|
|
|
|
+ $7C,$05,$78,$56,$34,$12,$F3,$44,$0F,$16,$05,$78,$56,$34,$12,
|
|
|
|
+ $F3,$44,$0F,$12,$05,$78,$56,$34,$12,$66,$44,$0F,$17,$05,$78,
|
|
|
|
+ $56,$34,$12,$66,$44,$0F,$16,$05,$78,$56,$34,$12,$44,$0F,$17,
|
|
|
|
+ $05,$78,$56,$34,$12,$44,$0F,$16,$05,$78,$56,$34,$12,$66,$44,
|
|
|
|
+ $0F,$13,$05,$78,$56,$34,$12,$66,$44,$0F,$12,$05,$78,$56,$34,
|
|
|
|
+ $12,$44,$0F,$13,$05,$78,$56,$34,$12,$44,$0F,$12,$05,$78,$56,
|
|
|
|
+ $34,$12,$F3,$0F,$70,$0D,$77,$56,$34,$12,$90,$F2,$0F,$70,$0D,
|
|
|
|
+ $77,$56,$34,$12,$90,$0F,$60,$0D,$78,$56,$34,$12,$0F,$62,$0D,
|
|
|
|
+ $78,$56,$34,$12,$0F,$61,$0D,$78,$56,$34,$12,$66,$44,$0F,$60,
|
|
|
|
+ $05,$78,$56,$34,$12,$66,$44,$0F,$62,$05,$78,$56,$34,$12,$66,
|
|
|
|
+ $44,$0F,$61,$05,$78,$56,$34,$12,$66,$44,$0F,$6C,$05,$78,$56,
|
|
|
|
+ $34,$12,$66,$44,$0F,$2E,$05,$78,$56,$34,$12,$44,$0F,$2E,$05,
|
|
|
|
+ $78,$56,$34,$12,$F2,$44,$0F,$C2,$00,$00,$F3,$44,$0F,$C2,$00,
|
|
|
|
+ $00,$66,$44,$0F,$2A,$C0,$66,$44,$0F,$2A,$00,$44,$0F,$2A,$C0,
|
|
|
|
+ $44,$0F,$2A,$00,$41,$0F,$2D,$00,$F2,$41,$0F,$2D,$00,$F2,$49,
|
|
|
|
+ $0F,$2D,$00,$F2,$41,$0F,$2C,$00,$F2,$49,$0F,$2C,$00,$F2,$41,
|
|
|
|
+ $0F,$5A,$00,$F3,$41,$0F,$5A,$00,$F3,$41,$0F,$2D,$00,$F3,$49,
|
|
|
|
+ $0F,$2D,$00,$F3,$41,$0F,$2C,$00,$F3,$49,$0F,$2C,$00,$F2,$44,
|
|
|
|
+ $0F,$5E,$00,$F3,$44,$0F,$5E,$00,$F2,$44,$0F,$5F,$00,$F3,$44,
|
|
|
|
+ $0F,$5F,$00,$F3,$44,$0F,$5D,$00,$F3,$44,$0F,$5D,$00,$F2,$44,
|
|
|
|
+ $0F,$2B,$00,$F3,$44,$0F,$2B,$00,$F3,$44,$0F,$10,$00,$F3,$44,
|
|
|
|
+ $0F,$11,$00,$F2,$44,$0F,$59,$00,$F3,$44,$0F,$59,$00,$F3,$44,
|
|
|
|
+ $0F,$53,$00,$44,$0F,$53,$00,$66,$44,$0F,$3A,$0B,$00,$00,$66,
|
|
|
|
+ $44,$0F,$3A,$0A,$00,$00,$F3,$44,$0F,$52,$00,$44,$0F,$52,$00,
|
|
|
|
+ $F2,$44,$0F,$51,$00,$F3,$44,$0F,$51,$00,$66,$44,$0F,$51,$00,
|
|
|
|
+ $44,$0F,$51,$00,$F2,$44,$0F,$5C,$00,$F3,$44,$0F,$5C,$00,$66,
|
|
|
|
+ $44,$0F,$38,$20,$00,$66,$44,$0F,$38,$21,$00,$66,$44,$0F,$38,
|
|
|
|
+ $22,$00,$66,$44,$0F,$38,$23,$00,$66,$44,$0F,$38,$24,$00,$66,
|
|
|
|
+ $44,$0F,$38,$25,$00,$66,$44,$0F,$38,$30,$00,$66,$44,$0F,$38,
|
|
|
|
+ $31,$00,$66,$44,$0F,$38,$32,$00,$66,$44,$0F,$38,$33,$00,$66,
|
|
|
|
+ $44,$0F,$38,$34,$00,$66,$44,$0F,$38,$35,$00,$66,$44,$0F,$3A,
|
|
|
|
+ $21,$00,$00,$66,$44,$0F,$15,$00,$44,$0F,$15,$00,$66,$44,$0F,
|
|
|
|
+ $14,$00,$44,$0F,$14,$00,$F3,$0F,$C2,$F7,$10,$F3,$0F,$C2,$38,
|
|
|
|
+ $10,$0F,$D4,$C1,$0F,$D4,$00,$66,$0F,$D4,$C1,$66,$0F,$D4,$00,
|
|
|
|
+ $0F,$FB,$C1,$0F,$FB,$00,$66,$0F,$FB,$C1,$66,$0F,$FB,$00,$0F,
|
|
|
|
+ $F4,$C1,$0F,$F4,$00,$66,$0F,$F4,$C1,$66,$0F,$F4,$00,$41,$0F,
|
|
|
|
+ $58,$00,$F3,$41,$0F,$58,$00,$66,$41,$0F,$E4,$00,$66,$41,$0F,
|
|
|
|
+ $F6,$00,$C3);
|
|
|
|
+
|
|
|
|
+var
|
|
|
|
+ i : longint;
|
|
|
|
+
|
|
|
|
+
|
|
begin
|
|
begin
|
|
|
|
+ for i:=0 to high(test_expected) do
|
|
|
|
+ if test_expected[i]<>pbyte(@test)[i] then
|
|
|
|
+ halt(1);
|
|
|
|
+ writeln('ok');
|
|
end.
|
|
end.
|