Skip to content

Commit

Permalink
Update tests to exercise new instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
saagarjha committed Jan 20, 2022
1 parent b2090aa commit 1b2c80b
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 23 deletions.
44 changes: 42 additions & 2 deletions tests/e2e/qemu/expected.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4400,6 +4400,8 @@ andpd : a=dc515cff944a58ec456723c698694873 b=41f21efba9e3e1461f297ccd58bad7ab
andpd : a=231be9e8cde7438d007c62c2085427f8 b=c233e9e8c4c9439a0f76255a085427f8 r=0213e9e8c4c1438800742042085427f8
andnps : a=dc515cff944a58ec456723c698694873 b=41f21efba9e3e1461f297ccd58bad7ab r=01a2020029a1a1021a085c0940929788
andnps : a=231be9e8cde7438d007c62c2085427f8 b=c233e9e8c4c9439a0f76255a085427f8 r=c0200000000800120f02051800000000
andnpd : a=dc515cff944a58ec456723c698694873 b=41f21efba9e3e1461f297ccd58bad7ab r=01a2020029a1a1021a085c0940929788
andnpd : a=231be9e8cde7438d007c62c2085427f8 b=c233e9e8c4c9439a0f76255a085427f8 r=c0200000000800120f02051800000000
orps : a=dc515cff944a58ec456723c698694873 b=41f21efba9e3e1461f297ccd58bad7ab r=ddf35effbdebf9ee5f6f7fcfd8fbdffb
orps : a=231be9e8cde7438d007c62c2085427f8 b=c233e9e8c4c9439a0f76255a085427f8 r=e33be9e8cdef439f0f7e67da085427f8
orpd : a=dc515cff944a58ec456723c698694873 b=41f21efba9e3e1461f297ccd58bad7ab r=ddf35effbdebf9ee5f6f7fcfd8fbdffb
Expand All @@ -4412,6 +4414,14 @@ pshufd : a=dc515cff944a58ec456723c698694873 ib=78 r=456723c6dc515cff944a58ec98
pshufd : a=231be9e8cde7438d007c62c2085427f8 ib=78 r=007c62c2231be9e8cde7438d085427f8
pshuflw : a=dc515cff944a58ec456723c698694873 ib=78 r=dc515cff944a58ec9869456723c64873
pshuflw : a=231be9e8cde7438d007c62c2085427f8 ib=78 r=231be9e8cde7438d0854007c62c227f8
psrld : a=dc515cff944a58ec456723c698694873 ib=07 r=01b8a2b9012894b1008ace470130d290
psrld : a=231be9e8cde7438d007c62c2085427f8 ib=07 r=004637d3019bce870000f8c50010a84f
psrld : a=dc515cff944a58ec456723c698694873 ib=20 r=00000000000000000000000000000000
psrld : a=231be9e8cde7438d007c62c2085427f8 ib=20 r=00000000000000000000000000000000
pslld : a=dc515cff944a58ec456723c698694873 ib=07 r=28ae7f80252c7600b391e30034a43980
pslld : a=231be9e8cde7438d007c62c2085427f8 ib=07 r=8df4f400f3a1c6803e3161002a13fc00
pslld : a=dc515cff944a58ec456723c698694873 ib=20 r=00000000000000000000000000000000
pslld : a=231be9e8cde7438d007c62c2085427f8 ib=20 r=00000000000000000000000000000000
psrlq : a=dc515cff944a58ec456723c698694873 ib=07 r=01b8a2b9ff2894b1008ace478d30d290
psrlq : a=456723c698694873 ib=07 r=008ace478d30d290
psrlq : a=231be9e8cde7438d007c62c2085427f8 ib=07 r=004637d3d19bce870000f8c58410a84f
Expand Down Expand Up @@ -4468,47 +4478,77 @@ ucomiss : a=2.000000 b=-nan cc=0045
comiss : a=2.000000 b=-nan cc=0045
ucomiss : a=-nan b=-1.000000 cc=0045
comiss : a=-nan b=-1.000000 cc=0045
addps : a=c0c9999a408000004059999a402ccccd b=426133334080000043b0b3334236cccd r=424800004100000043b266664241999a
addss : a=c0c9999a408000004059999a402ccccd b=426133334080000043b0b3334236cccd r=c0c9999a408000004059999a4241999a
mulps : a=c0c9999a408000004059999a402ccccd b=426133334080000043b0b3334236cccd r=c3b1585241800000449631ec42f6c7af
mulss : a=c0c9999a408000004059999a402ccccd b=426133334080000043b0b3334236cccd r=c0c9999a408000004059999a42f6c7af
subps : a=c0c9999a408000004059999a402ccccd b=426133334080000043b0b3334236cccd r=c27a666600000000c3af0000c22c0000
subss : a=c0c9999a408000004059999a402ccccd b=426133334080000043b0b3334236cccd r=c0c9999a408000004059999ac22c0000
divss : a=c0c9999a408000004059999a402ccccd b=426133334080000043b0b3334236cccd r=c0c9999a408000004059999a3d71fee1
addpd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=c04c6666666666664048333333333334
addsd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=c00b3333333333334048333333333334
mulpd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=4066b1eb851eb852405ed8f5c28f5c2a
mulsd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=c00b333333333333405ed8f5c28f5c2a
subpd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=4049000000000000c045800000000000
subsd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=c00b333333333333c045800000000000
minsd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=c00b333333333333400599999999999a
divsd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=c00b3333333333333fae3fdc26178701
maxsd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=c00b3333333333334046d9999999999a
sqrtsd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=c00b333333333333401b0a6bf94cb839
cmpeqpd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=00000000000000000000000000000000
cmpeqsd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=c00b3333333333330000000000000000
cmpltpd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=0000000000000000ffffffffffffffff
cmpltsd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=c00b333333333333ffffffffffffffff
cmplepd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=0000000000000000ffffffffffffffff
cmplesd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=c00b333333333333ffffffffffffffff
cmpunordpd: a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=00000000000000000000000000000000
cmpunordsd: a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=c00b3333333333330000000000000000
cmpneqpd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=ffffffffffffffffffffffffffffffff
cmpneqsd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=c00b333333333333ffffffffffffffff
cmpnltpd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=ffffffffffffffff0000000000000000
cmpnltsd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=c00b3333333333330000000000000000
cmpnlepd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=ffffffffffffffff0000000000000000
cmpnlesd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=c00b3333333333330000000000000000
cmpordpd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=ffffffffffffffffffffffffffffffff
cmpordsd : a=c00b333333333333400599999999999a b=c04ab333333333334046d9999999999a r=c00b333333333333ffffffffffffffff
addps : a=c0c9999a408000004059999affc00000 b=ffc000004080000043b0b3334236cccd r=ffc000004100000043b26666ffc00000
addss : a=c0c9999a408000004059999affc00000 b=ffc000004080000043b0b3334236cccd r=c0c9999a408000004059999affc00000
mulps : a=c0c9999a408000004059999affc00000 b=ffc000004080000043b0b3334236cccd r=ffc0000041800000449631ecffc00000
mulss : a=c0c9999a408000004059999affc00000 b=ffc000004080000043b0b3334236cccd r=c0c9999a408000004059999affc00000
subps : a=c0c9999a408000004059999affc00000 b=ffc000004080000043b0b3334236cccd r=ffc0000000000000c3af0000ffc00000
subss : a=c0c9999a408000004059999affc00000 b=ffc000004080000043b0b3334236cccd r=c0c9999a408000004059999affc00000
divss : a=c0c9999a408000004059999affc00000 b=ffc000004080000043b0b3334236cccd r=c0c9999a408000004059999affc00000
addpd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=fff8000000000000fff8000000000000
addsd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=c00b333333333333fff8000000000000
mulpd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=fff8000000000000fff8000000000000
mulsd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=c00b333333333333fff8000000000000
subpd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=fff8000000000000fff8000000000000
subsd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=c00b333333333333fff8000000000000
minsd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=c00b3333333333334046d9999999999a
divsd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=c00b333333333333fff8000000000000
maxsd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=c00b3333333333334046d9999999999a
sqrtsd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=c00b333333333333401b0a6bf94cb839
cmpeqpd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=00000000000000000000000000000000
cmpeqsd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=c00b3333333333330000000000000000
cmpltpd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=00000000000000000000000000000000
cmpltsd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=c00b3333333333330000000000000000
cmplepd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=00000000000000000000000000000000
cmplesd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=c00b3333333333330000000000000000
cmpunordpd: a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=ffffffffffffffffffffffffffffffff
cmpunordsd: a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=c00b333333333333ffffffffffffffff
cmpneqpd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=ffffffffffffffffffffffffffffffff
cmpneqsd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=c00b333333333333ffffffffffffffff
cmpnltpd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=ffffffffffffffffffffffffffffffff
cmpnltsd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=c00b333333333333ffffffffffffffff
cmpnlepd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=ffffffffffffffffffffffffffffffff
cmpnlesd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=c00b333333333333ffffffffffffffff
cmpordpd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=00000000000000000000000000000000
cmpordsd : a=c00b333333333333fff8000000000000 b=fff80000000000004046d9999999999a r=c00b3333333333330000000000000000
cvtss2sd : a=c0c9999a408000004059999a402ccccd r=c0c9999a4080000040059999a0000000
cvttss2si: a=c0c9999a408000004059999a402ccccd r=00000002
cvttps2dq: a=c0c9999a408000004059999a402ccccd r=fffffffa000000040000000300000002
cvtsd2ss : a=c00b3333333333334004cccccccccccd r=c00b3333333333334004cccc40266666
cvttsd2si: a=c00b3333333333334004cccccccccccd r=00000002
cvtsi2ss : a=fffffffa r=c00b3333333333334004ccccc0c00000
cvtsi2sd : a=fffffffa r=c00b333333333333c018000000000000
cvttpd2dq: a=c00b3333333333334004cccccccccccd r=0000000000000000fffffffd00000002
cvtsi2ss : a=fffffffa r=0000000000000000fffffffdc0c00000
cvtsi2sd : a=fffffffa r=0000000000000000c018000000000000
42 changes: 21 additions & 21 deletions tests/e2e/qemu/qemu-test.c
Original file line number Diff line number Diff line change
Expand Up @@ -2530,7 +2530,7 @@ void test_sse(void)
SSE_OP2(andps);
SSE_OP2(andpd);
SSE_OP2(andnps);
// SSE_OP2(andnpd);
SSE_OP2(andnpd);
SSE_OP2(orps);
SSE_OP2(orpd);
SSE_OP2(xorps);
Expand All @@ -2555,12 +2555,12 @@ void test_sse(void)
// SHIFT_OP(psllw, 7);
// SHIFT_OP(psllw, 16);

// SHIFT_OP(psrld, 7);
// SHIFT_OP(psrld, 32);
SHIFT_DQ_IM(psrld, 7);
SHIFT_DQ_IM(psrld, 32);
// SHIFT_OP(psrad, 7);
// SHIFT_OP(psrad, 32);
// SHIFT_OP(pslld, 7);
// SHIFT_OP(pslld, 32);
SHIFT_DQ_IM(pslld, 7);
SHIFT_DQ_IM(pslld, 32);

SHIFT_OP(psrlq, 7);
SHIFT_OP(psrlq, 32);
Expand Down Expand Up @@ -2609,9 +2609,9 @@ void test_sse(void)
b.s[3] = q_nan.d;
}

SSE_OPS_S(add);
SSE_OPS_S(mul);
SSE_OPS_S(sub);
SSE_OPS(add);
SSE_OPS(mul);
SSE_OPS(sub);
// SSE_OPS(min);
SSE_OPS_S(div);
// SSE_OPS(max);
Expand All @@ -2634,21 +2634,21 @@ void test_sse(void)
a.d[0] = q_nan.d;
b.d[1] = q_nan.d;
}
SSE_OPD_S(add);
SSE_OPD_S(mul);
SSE_OPD_S(sub);
SSE_OPD(add);
SSE_OPD(mul);
SSE_OPD(sub);
SSE_OPD_S(min);
SSE_OPD_S(div);
SSE_OPD_S(max);
SSE_OPD_S(sqrt);
SSE_OPD_S(cmpeq);
SSE_OPD_S(cmplt);
SSE_OPD_S(cmple);
SSE_OPD_S(cmpunord);
SSE_OPD_S(cmpneq);
SSE_OPD_S(cmpnlt);
SSE_OPD_S(cmpnle);
SSE_OPD_S(cmpord);
SSE_OPD(cmpeq);
SSE_OPD(cmplt);
SSE_OPD(cmple);
SSE_OPD(cmpunord);
SSE_OPD(cmpneq);
SSE_OPD(cmpnlt);
SSE_OPD(cmpnle);
SSE_OPD(cmpord);
}

/* float to float/int */
Expand All @@ -2663,7 +2663,7 @@ void test_sse(void)
// CVT_OP_XMM2REG(cvtss2si);
CVT_OP_XMM2REG(cvttss2si);
// CVT_OP_XMM(cvtps2dq);
// CVT_OP_XMM(cvttps2dq);
CVT_OP_XMM(cvttps2dq);

a.d[0] = 2.6;
a.d[1] = -3.4;
Expand All @@ -2674,7 +2674,7 @@ void test_sse(void)
// CVT_OP_XMM2REG(cvtsd2si);
CVT_OP_XMM2REG(cvttsd2si);
// CVT_OP_XMM(cvtpd2dq);
// CVT_OP_XMM(cvttpd2dq);
CVT_OP_XMM(cvttpd2dq);

/* sse/mmx moves */
// CVT_OP_XMM2MMX(movdq2q);
Expand Down

0 comments on commit 1b2c80b

Please sign in to comment.