]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Valgrind-side fixes and tests for PACKUSDW, to track r2160.
authorJulian Seward <jseward@acm.org>
Wed, 15 Jun 2011 16:07:15 +0000 (16:07 +0000)
committerJulian Seward <jseward@acm.org>
Wed, 15 Jun 2011 16:07:15 +0000 (16:07 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11816

memcheck/mc_translate.c
none/tests/amd64/sse4-64.c
none/tests/amd64/sse4-64.stdout.exp

index 0fdd2a5297f93f8bff6c064d3f4e0cd1ba42584c..0b5e4104260f8bb51e43da26844b5a01f9994ea8 100644 (file)
@@ -1989,6 +1989,7 @@ IRAtom* vectorNarrowV128 ( MCEnv* mce, IROp narrow_op,
    switch (narrow_op) {
       case Iop_QNarrow32Sto16Sx8: pcast = mkPCast32x4; break;
       case Iop_QNarrow32Uto16Ux8: pcast = mkPCast32x4; break;
+      case Iop_QNarrow32Sto16Ux8: pcast = mkPCast32x4; break;
       case Iop_QNarrow16Sto8Sx16: pcast = mkPCast16x8; break;
       case Iop_QNarrow16Sto8Ux16: pcast = mkPCast16x8; break;
       default: VG_(tool_panic)("vectorNarrowV128");
@@ -2705,6 +2706,7 @@ IRAtom* expr2vbits_Binop ( MCEnv* mce,
 
       case Iop_QNarrow32Sto16Sx8:
       case Iop_QNarrow32Uto16Ux8:
+      case Iop_QNarrow32Sto16Ux8:
       case Iop_QNarrow16Sto8Sx16:
       case Iop_QNarrow16Sto8Ux16:
          return vectorNarrowV128(mce, op, vatom1, vatom2);
index 105def9523bdfa45b6d7258db6bf9d050b9f575d..8602eaaef3454e4ab3eb930cffce7a3318712a46 100644 (file)
@@ -3791,7 +3791,6 @@ int main ( int argc, char** argv )
    test_INSERTPS();       // done Apr.01.2010
    // MOVNTDQA  ***
    //test_MPSADBW();
-   //test_PACKUSDW();
    //test_PCMPEQQ();
    test_PEXTRB();         // done Apr.15.2010
    test_PEXTRD();         // done Apr.14.2010
@@ -3839,11 +3838,11 @@ int main ( int argc, char** argv )
    // ------ SSE 4.2 ------
    test_PCMPGTQ();
    // CRC32B,Q
+   test_PACKUSDW();
 
 #else
 #if 0
    test_MPSADBW();
-   test_PACKUSDW();
    test_PCMPEQQ();
    test_PHMINPOSUW();
    test_PMULDQ();
index afa8f6bed280fd1989c372c6fac1098479f77a29..1eb7ee7051120adc514912c643b62aa7fb57debe 100644 (file)
@@ -4704,3 +4704,23 @@ r    pcmpgtq ffffffffffffffff0000000000000000 fffffffffffffffe0000000000000001 0
 m    pcmpgtq ffffffffffffffff0000000000000000 fffffffffffffffe0000000000000001 0000000000000000ffffffffffffffff
 r    pcmpgtq ffffffffffffffff0000000000000000 ffffffffffffffff0000000000000000 00000000000000000000000000000000
 m    pcmpgtq ffffffffffffffff0000000000000000 ffffffffffffffff0000000000000000 00000000000000000000000000000000
+r   packusdw 53bb728e020c15a5c22982db4a24e5a7 d9ae1386622d3d7a2db15a13bf7970b0 ffffffff0000ffff0000ffffffff0000
+m   packusdw 53bb728e020c15a5c22982db4a24e5a7 d9ae1386622d3d7a2db15a13bf7970b0 ffffffff0000ffff0000ffffffff0000
+r   packusdw a1bcb4ea56fa55737eac60eb8aded33c c43f261642363414e2c3f191206475a2 0000ffffffff00000000ffff0000ffff
+m   packusdw a1bcb4ea56fa55737eac60eb8aded33c c43f261642363414e2c3f191206475a2 0000ffffffff00000000ffff0000ffff
+r   packusdw 3ef118c86a00924363014f93d37d9f97 eceb191ff1dc0745eece99ded8fa7731 ffffffffffff00000000000000000000
+m   packusdw 3ef118c86a00924363014f93d37d9f97 eceb191ff1dc0745eece99ded8fa7731 ffffffffffff00000000000000000000
+r   packusdw 88a79996daaa09c04df3cdbf420d06e5 aefee70d0aabf1ba2d9ccce404463289 00000000ffffffff0000ffffffffffff
+m   packusdw 88a79996daaa09c04df3cdbf420d06e5 aefee70d0aabf1ba2d9ccce404463289 00000000ffffffff0000ffffffffffff
+r   packusdw d92a33bf4382f6971850565bf298c352 66c48c4b2a302f1e7bfa0890c05462d6 0000ffffffff0000ffffffffffff0000
+m   packusdw d92a33bf4382f6971850565bf298c352 66c48c4b2a302f1e7bfa0890c05462d6 0000ffffffff0000ffffffffffff0000
+r   packusdw 8fc5e2af41169474a0e26453002c9409 70880548ecf6fd1eb4b3c8cf2731c242 0000ffff0000ffffffff00000000ffff
+m   packusdw 8fc5e2af41169474a0e26453002c9409 70880548ecf6fd1eb4b3c8cf2731c242 0000ffff0000ffffffff00000000ffff
+r   packusdw 04c6a3d26ff12002c176759387d43337 28984c6ded8a9666b495898c55e80ffc ffffffff00000000ffff00000000ffff
+m   packusdw 04c6a3d26ff12002c176759387d43337 28984c6ded8a9666b495898c55e80ffc ffffffff00000000ffff00000000ffff
+r   packusdw 9677719469a0d6ee57d80407a49d5d07 ea3e5f27c87637a1566ac5b36785042e 0000ffffffff000000000000ffffffff
+m   packusdw 9677719469a0d6ee57d80407a49d5d07 ea3e5f27c87637a1566ac5b36785042e 0000ffffffff000000000000ffffffff
+r   packusdw 9f264862ccaef2e43ed48d9c7292cda6 11c739e219481c7c7800fa3079155f05 00000000ffffffffffffffffffffffff
+m   packusdw 9f264862ccaef2e43ed48d9c7292cda6 11c739e219481c7c7800fa3079155f05 00000000ffffffffffffffffffffffff
+r   packusdw 00008877000066550000443300002211 0000b2a10000ffee0000ddcc0000bbaa 8877665544332211b2a1ffeeddccbbaa
+m   packusdw 00008877000066550000443300002211 0000b2a10000ffee0000ddcc0000bbaa 8877665544332211b2a1ffeeddccbbaa