Created
August 5, 2015 18:47
-
-
Save danilaml/bb278a0d19ac447a9827 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Running test MTOCRF.0 | |
LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.0(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 768 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 983040 | |
%7 = and i32 %2, -983041 | |
%8 = or i32 %6, %7 | |
%9 = getelementptr i8* %ppu_state, i32 1540 | |
%10 = bitcast i8* %9 to i32* | |
store i32 %8, i32* %10, align 4 | |
ret i32 0 | |
} | |
Optimized LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.0(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 768 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 983040 | |
%7 = and i32 %2, -983041 | |
%8 = or i32 %6, %7 | |
store i32 %8, i32* %4, align 4 | |
ret i32 0 | |
} | |
Test MTOCRF.0 failed | |
Input state: | |
GPR[00] = 0xdb03588ffa5149db FPR[00] = 8.90965e+18 (0x43dee95c927c7599) VPR[00] = 0xdf691fc2ce5e79094ef5dd415f1cf07b [x: -1.67984e+19 y: -9.33119e+08 z: 2.06246e+09 w: 1.13087e+19] | |
GPR[01] = 0x4d59271252eac7aa FPR[01] = 1.77494e+19 (0x43eeca513b004c64) VPR[01] = 0xdeda297cce5cad364c2adc705f5d5492 [x: -7.86012e+18 y: -9.25585e+08 z: 4.47902e+07 w: 1.59485e+19] | |
GPR[02] = 0xedc9407af3c07df7 FPR[02] = 6.60516e+18 (0x43d6ea8fd65f7e77) VPR[02] = 0xde94e27eced6e7254eb39efa5eb6363e [x: -5.36414e+18 y: -1.80274e+09 z: 1.50677e+09 w: 6.56487e+18] | |
GPR[03] = 0xdd32f0c053be3a8e FPR[03] = 1.62091e+19 (0x43ec1e4c73ecb73f) VPR[03] = 0xdf55f19bcee306474e89897d5f361d9e [x: -1.54163e+19 y: -1.90442e+09 z: 1.15374e+09 w: 1.31228e+19] | |
GPR[04] = 0xfe68104a582f69c5 FPR[04] = 1.77064e+19 (0x43eeb73db3b17688) VPR[04] = 0xdde76e27ced2b3444ecc83205eafaa90 [x: -2.08454e+18 y: -1.76748e+09 z: 1.71557e+09 w: 6.32904e+18] | |
GPR[05] = 0x1a7f04e46ad65bf8 FPR[05] = 1.34078e+19 (0x43e74246a5aef4bc) VPR[05] = 0xdeedd365cef9da104ea150f75cb092e4 [x: -8.56858e+18 y: -2.09591e+09 z: 1.35322e+09 w: 3.97609e+17] | |
GPR[06] = 0xd8ec0a8b7a2cb80e FPR[06] = 1.84399e+19 (0x43effcf7a2f315ce) VPR[06] = 0xdf01cb2dce3fc5634ece29ac5f761ed5 [x: -9.35262e+18 y: -8.04346e+08 z: 1.72942e+09 w: 1.77348e+19] | |
GPR[07] = 0x0c02ee2685336c86 FPR[07] = 1.47602e+19 (0x43e99ad434269e64) VPR[07] = 0xdea34be6cef4fa8e4e58aa2a5e70620f [x: -5.88338e+18 y: -2.05503e+09 z: 9.08758e+08 w: 4.33036e+18] | |
GPR[08] = 0xfa141592d5483236 FPR[08] = 3.28474e+18 (0x43c6cadde3729a8a) VPR[08] = 0xde77c852ce4bad214e24b6bb5f2d3003 [x: -4.46365e+18 y: -8.5428e+08 z: 6.9086e+08 w: 1.24795e+19] | |
GPR[09] = 0x4c8f5e09c930e252 FPR[09] = 1.04132e+19 (0x43e21063bddefc3b) VPR[09] = 0xdddfa48ececbdbd34ed856695d803333 [x: -2.0144e+18 y: -1.71009e+09 z: 1.81477e+09 w: 1.15472e+18] | |
GPR[10] = 0xb608332121e8aae9 FPR[10] = 1.68161e+19 (0x43ed2bd4a37410ef) VPR[10] = 0xdf1b9aefce673bb64ef3e6085f444f36 [x: -1.12125e+19 y: -9.69863e+08 z: 2.04597e+09 w: 1.41456e+19] | |
GPR[11] = 0x60d53f51f5df9735 FPR[11] = 5.15382e+18 (0x43d1e1832b303a94) VPR[11] = 0xdf3b2208ceefd2d64eb6bf535ee1d09f [x: -1.34843e+19 y: -2.01179e+09 z: 1.533e+09 w: 8.13584e+18] | |
GPR[12] = 0x9af3dc12b14cc813 FPR[12] = 1.18577e+18 (0x43b074b3703262b7) VPR[12] = 0xdf2a4b51cee22f024ed87f2c5e253ca3 [x: -1.2271e+19 y: -1.89737e+09 z: 1.81611e+09 w: 2.97664e+18] | |
GPR[13] = 0x28c0d57a11e5f6c6 FPR[13] = 9.37942e+18 (0x43e0454d290ba60e) VPR[13] = 0xdf06a7a2cee2efbc4d853f315f0203ec [x: -9.7029e+18 y: -1.90368e+09 z: 2.79439e+08 w: 9.36859e+18] | |
GPR[14] = 0xeacff407f8b8b3fc FPR[14] = 1.77143e+19 (0x43eebab995a38c07) VPR[14] = 0xdf216380ce868ee54e94f6b95f0870e5 [x: -1.16293e+19 y: -1.12876e+09 z: 1.2496e+09 w: 9.83161e+18] | |
GPR[15] = 0xb5fbcffbc00aa7e0 FPR[15] = 5.67991e+18 (0x43d3b4c53a2178c4) VPR[15] = 0xdf22dd11cea3e6684e57be215f27c0ea [x: -1.17356e+19 y: -1.37489e+09 z: 9.0489e+08 w: 1.20879e+19] | |
GPR[16] = 0xba1a615ac6ed7f59 FPR[16] = 3.01269e+18 (0x43c4e79b569d7a2c) VPR[16] = 0xdf37619ece82f7fa4efe0bdd5ed1ea67 [x: -1.3214e+19 y: -1.09864e+09 z: 2.1311e+09 w: 7.56301e+18] | |
GPR[17] = 0x56a69566a9947a55 FPR[17] = 7.75734e+18 (0x43dae9e5d32cc377) VPR[17] = 0xde48c110ce0bd6624e9449645f757e4f [x: -3.61647e+18 y: -5.86521e+08 z: 1.24392e+09 w: 1.76897e+19] | |
GPR[18] = 0x44afa00e293a2ed9 FPR[18] = 1.37816e+19 (0x43e7e84050c17311) VPR[18] = 0xdd0c2ec0cd52ed6f4e6a4c925eba5424 [x: -6.31326e+17 y: -2.21173e+08 z: 9.82722e+08 w: 6.7132e+18] | |
GPR[19] = 0xf2524275b11e98db FPR[19] = 4.10028e+18 (0x43cc738ecd414ba9) VPR[19] = 0xdf2273fecde56fd64ee0cc565dd701a2 [x: -1.1706e+19 y: -4.81164e+08 z: 1.88574e+09 w: 1.93661e+18] | |
GPR[20] = 0xe67adecfc173efbc FPR[20] = 9.21712e+18 (0x43dffa7273ea5c4e) VPR[20] = 0xdf2021edcebf8a3e4eebeab75ed439a1 [x: -1.15388e+19 y: -1.60675e+09 z: 1.97901e+09 w: 7.64622e+18] | |
GPR[21] = 0x56490485610c2ddd FPR[21] = 1.09456e+19 (0x43e2fcd794ffaada) VPR[21] = 0xdf087eedce8d5a7b4e2e3a395dc1e484 [x: -9.83556e+18 y: -1.18576e+09 z: 7.30763e+08 w: 1.74643e+18] | |
GPR[22] = 0xd8149fe099bd5262 FPR[22] = 1.29789e+19 (0x43e683cb9ceb27b5) VPR[22] = 0xdee99d0bcd71fdd14db5bd1a5eaab3a5 [x: -8.41681e+18 y: -2.53746e+08 z: 3.81134e+08 w: 6.15018e+18] | |
GPR[23] = 0xd120970b7424b441 FPR[23] = 1.36176e+19 (0x43e79f6d7be79c92) VPR[23] = 0xdf4d984ccd8c1e584eb64d8b5e62d1e1 [x: -1.48147e+19 y: -2.9385e+08 z: 1.52927e+09 w: 4.08602e+18] | |
GPR[24] = 0xf060b2c6363782c8 FPR[24] = 1.59805e+19 (0x43ebb8c861255fcf) VPR[24] = 0xdf43e687ce90d9f94e95f43c5f29e084 [x: -1.41161e+19 y: -1.2151e+09 z: 1.25791e+09 w: 1.22409e+19] | |
GPR[25] = 0xac3737fd1ac26c9c FPR[25] = 1.37607e+19 (0x43e7def5f3d90cc6) VPR[25] = 0xdf133c54cd8ffef54e4c94eb5e0931b0 [x: -1.06094e+19 y: -3.01981e+08 z: 8.58078e+08 w: 2.47147e+18] | |
GPR[26] = 0x8b35f65a52b7df0e FPR[26] = 7.5066e+18 (0x43da0b323efab497) VPR[26] = 0xdf26efd1cc1d75124ebcf0355eab1def [x: -1.20291e+19 y: -4.12765e+07 z: 1.58493e+09 w: 6.16514e+18] | |
GPR[27] = 0xcab91f5653531761 FPR[27] = 6.93715e+18 (0x43d8116e2522ab06) VPR[27] = 0xde9b9187cebcb1ee4eef58945ecbeef2 [x: -5.60494e+18 y: -1.58289e+09 z: 2.00778e+09 w: 7.34747e+18] | |
GPR[28] = 0xf962869899576291 FPR[28] = 1.79413e+19 (0x43ef1f8b0b43d8ff) VPR[28] = 0xdf1953d3ce37c2a04ee92eb55e38e62e [x: -1.10484e+19 y: -7.70746e+08 z: 1.95608e+09 w: 3.33085e+18] | |
GPR[29] = 0x1c8ed6c6f3169418 FPR[29] = 5.5809e+18 (0x43d35cd64fac8a6e) VPR[29] = 0xdf7adac1ce58bb134eafdbef5ef8c0f2 [x: -1.8076e+19 y: -9.09035e+08 z: 1.47521e+09 w: 8.9623e+18] | |
GPR[30] = 0x09b249ae5be6221b FPR[30] = 5.03219e+18 (0x43d1757b9e43445a) VPR[30] = 0xdd96fe32cd0be6af4de951345f4e1e50 [x: -1.36002e+18 y: -1.46697e+08 z: 4.89302e+08 w: 1.48524e+19] | |
GPR[31] = 0x4d6673994f359510 FPR[31] = 1.58907e+19 (0x43eb90e5e48f3233) VPR[31] = 0xdf060d23ce3a01324ee671195e90cd85 [x: -9.65942e+18 y: -7.8016e+08 z: 1.93309e+09 w: 5.21707e+18] | |
SPRG[0] = 0x5df004c0ca196091 | |
SPRG[1] = 0xd6f597766bbc58ad | |
SPRG[2] = 0xaeb8a7437c0ab650 | |
SPRG[3] = 0x6c8e0923be1c420f | |
SPRG[4] = 0xef6d48521dcf7000 | |
SPRG[5] = 0xf62464dec21e8ce7 | |
SPRG[6] = 0xa933a04ce0470c31 | |
SPRG[7] = 0x1ad1856968118b83 | |
CR = 0xd4227d5a LR = 0x501dbbd13f539574 CTR = 0x4be4012c9dc6da4a TB=0x50ed57bc33df7b43 | |
XER = 0x0000000020000000 [CA=1 | OV=0 | SO=0] | |
mem_block[0] = 0xc038d8d3db434899 mem_block[1] = 0xae52d0afa7ad1f44 | |
mem_block[2] = 0x42dd818ee06225c5 mem_block[3] = 0xf24741fe3c40d542 | |
mem_block[4] = 0xef604d654a18ddb6 mem_block[5] = 0x10cda3fd7af8c301 | |
mem_block[6] = 0xdf563b8032247bf7 mem_block[7] = 0xd0cdaca2d283d5f1 | |
mem_block[8] = 0xea782d6104ab8926 mem_block[9] = 0x09a6c9cd92e3d3fb | |
mem_block[10] = 0x0dbfb3f559beb728 mem_block[11] = 0xd6cfe1b54cf59af8 | |
mem_block[12] = 0x425ad00943a59838 mem_block[13] = 0xb6394f01bac0e7a2 | |
mem_block[14] = 0xa734ee302d008616 mem_block[15] = 0x4465d78783a432d7 | |
mem_block[16] = 0x8331f27dcd8d62af mem_block[17] = 0x79e098c8ff7544c8 | |
mem_block[18] = 0xc6605615708f4414 mem_block[19] = 0xc068ea219ef0aed4 | |
mem_block[20] = 0xe8ea03136e2268d3 mem_block[21] = 0xf46cb58d8e2190b4 | |
mem_block[22] = 0xb21fa178085988a6 mem_block[23] = 0x0385699f9b189b3c | |
mem_block[24] = 0xf1676a05ff5f0037 mem_block[25] = 0x94e9b91901dd567b | |
mem_block[26] = 0x074590d9bdca895e mem_block[27] = 0x434983b3aa3c870f | |
mem_block[28] = 0x6115ac2cb5848597 mem_block[29] = 0xd74a866cef6435e8 | |
mem_block[30] = 0xb58ea1a12210e38d mem_block[31] = 0x42e00d47176e5fa1 | |
mem_block[32] = 0x30c4e11762351e6b mem_block[33] = 0x921bf518bcf3c8e2 | |
mem_block[34] = 0x539a143ee920b510 mem_block[35] = 0x24f57eb08c7f82e3 | |
mem_block[36] = 0x6d5f6222d8db50b1 mem_block[37] = 0xb6323e583ed97adb | |
mem_block[38] = 0xccb310ecfd34ee05 mem_block[39] = 0x1226cfe5a1af05f0 | |
mem_block[40] = 0xb417968f3a694171 mem_block[41] = 0xce847627e5fb306a | |
mem_block[42] = 0x903654d2233a1e59 mem_block[43] = 0xf68375be01e5c2cf | |
mem_block[44] = 0x59f4630c452f791e mem_block[45] = 0x9a018f55228c6f85 | |
mem_block[46] = 0x14cb92c9ed78d378 mem_block[47] = 0x50834b8a1efe7191 | |
mem_block[48] = 0xa0d36ed589bc514a mem_block[49] = 0x6f694b8818bb635e | |
mem_block[50] = 0xe8507b4c3dd54892 mem_block[51] = 0xc378d509f3b36df7 | |
mem_block[52] = 0xb768a479b932dfe2 mem_block[53] = 0x4c80fc244b617288 | |
mem_block[54] = 0x956cea381fb54560 mem_block[55] = 0xc872a3425e50c0b6 | |
mem_block[56] = 0x1902448e872cc8ab mem_block[57] = 0xfa55fb9e5e2e2ae7 | |
mem_block[58] = 0x31863dc6b9529901 mem_block[59] = 0xa8f0644198e5e43d | |
mem_block[60] = 0xffa6df9914fd308b mem_block[61] = 0x05b70cbbe51ed0db | |
mem_block[62] = 0x0fe8f05d0b858b08 mem_block[63] = 0x932083b05500d42a | |
State diff: | |
recomp: CR = 0xfa5249db | |
interp: CR = 0xd4224d5a | |
Running test MTOCRF.1 | |
LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.1(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 768 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 983040 | |
%7 = and i32 %2, -983041 | |
%8 = or i32 %6, %7 | |
%9 = getelementptr i8* %ppu_state, i32 1540 | |
%10 = bitcast i8* %9 to i32* | |
store i32 %8, i32* %10, align 4 | |
ret i32 0 | |
} | |
Optimized LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.1(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 768 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 983040 | |
%7 = and i32 %2, -983041 | |
%8 = or i32 %6, %7 | |
store i32 %8, i32* %4, align 4 | |
ret i32 0 | |
} | |
Test MTOCRF.1 failed | |
Input state: | |
GPR[00] = 0x9126c97d0de689f6 FPR[00] = 6.36288e+18 (0x43d613605724204a) VPR[00] = 0xded845e7ce861ec94cc01cfc5e9e0c66 [x: -7.79206e+18 y: -1.12508e+09 z: 1.00723e+08 w: 5.69429e+18] | |
GPR[01] = 0x8404c26e05d38e08 FPR[01] = 6.26945e+17 (0x43a166b5d4990c4a) VPR[01] = 0xdee30465cebdf3524eeb3de65f219610 [x: -8.17916e+18 y: -1.59342e+09 z: 1.97335e+09 w: 1.16435e+19] | |
GPR[02] = 0xa283f17769ffeb22 FPR[02] = 1.41839e+19 (0x43e89aeb49afd11d) VPR[02] = 0xdf0e4d9ece9881574ec98fd65f7b5b4a [x: -1.0254e+19 y: -1.27931e+09 z: 1.69082e+09 w: 1.81122e+19] | |
GPR[03] = 0xaebfe4a4b8cdb0f0 FPR[03] = 1.45167e+19 (0x43e92eb6f0fe8622) VPR[03] = 0xdf23acecceccb4e24e639cd25f0b2df6 [x: -1.17941e+19 y: -1.7172e+09 z: 9.54676e+08 w: 1.00289e+19] | |
GPR[04] = 0xeececf407a73c2bc FPR[04] = 1.14071e+19 (0x43e3c9c2376e7c80) VPR[04] = 0xdec8eb38ce2021424e97e37c5ea95320 [x: -7.23886e+18 y: -6.71634e+08 z: 1.27413e+09 w: 6.10057e+18] | |
GPR[05] = 0x1ad05a692685e9e2 FPR[05] = 6.0744e+18 (0x43d5132683268047) VPR[05] = 0xde8ff05dceca09ab4edac3c05cd5fd64 [x: -5.18595e+18 y: -1.69482e+09 z: 1.83513e+09 w: 4.81862e+17] | |
GPR[06] = 0x537955b15135d2da FPR[06] = 4.21857e+16 (0x4362bbf4ff3e9a97) VPR[06] = 0xdf63776bcb0e28444ee470735f02b72b [x: -1.63907e+19 y: -9.31642e+06 z: 1.91629e+09 w: 9.41904e+18] | |
GPR[07] = 0xcefbe947101de013 FPR[07] = 7.79729e+18 (0x43db0d630c3d45ab) VPR[07] = 0xdeb63df8cec38fc94ec4e8985f1c4f58 [x: -6.56596e+18 y: -1.64049e+09 z: 1.65179e+09 w: 1.12633e+19] | |
GPR[08] = 0x8599360ec19d70cf FPR[08] = 5.25805e+18 (0x43d23e164d6c3f84) VPR[08] = 0xde058611ceefb2624efbf2955f16b39a [x: -2.40535e+18 y: -2.01072e+09 z: 2.11349e+09 w: 1.08592e+19] | |
GPR[09] = 0x5acd9510f5c715ad FPR[09] = 8.75713e+18 (0x43de61e50ec7cf15) VPR[09] = 0xdf47a790ce35db144e45edc65ecc35b8 [x: -1.43866e+19 y: -7.62758e+08 z: 8.30174e+08 w: 7.35743e+18] | |
GPR[10] = 0x04b3f41087129086 FPR[10] = 1.61668e+19 (0x43ec0b83be8fb0fc) VPR[10] = 0xdf0873dece8b96b44d93a9b05f1adbb6 [x: -9.83245e+18 y: -1.17095e+09 z: 3.09671e+08 w: 1.11587e+19] | |
GPR[11] = 0xe5ac152a5307cf8f FPR[11] = 3.25774e+18 (0x43c69ae7d52110b5) VPR[11] = 0xdf332972cd501e294d8b49e25f416cf5 [x: -1.291e+19 y: -2.18227e+08 z: 2.92109e+08 w: 1.39378e+19] | |
GPR[12] = 0x28076ace7dc56ac9 FPR[12] = 9.92823e+18 (0x43e139048bfa8198) VPR[12] = 0xdeb15b6dcdc2e20b4de7ce785ea2f8c3 [x: -6.38996e+18 y: -4.08699e+08 z: 4.86134e+08 w: 5.87168e+18] | |
GPR[13] = 0x6c4c14a87a552ce6 FPR[13] = 1.69814e+18 (0x43b790fdee628ec9) VPR[13] = 0xdf58a633cec6cc154ee4adc15e8a778f [x: -1.56112e+19 y: -1.66763e+09 z: 1.9183e+09 w: 4.9888e+18] | |
GPR[14] = 0xb117226d4ce7cea7 FPR[14] = 1.14647e+19 (0x43e3e3561b47d980) VPR[14] = 0xddf01daece6bdf364eb5d7465b8b4e03 [x: -2.16277e+18 y: -9.89319e+08 z: 1.52539e+09 w: 7.84216e+16] | |
GPR[15] = 0x66d8321b56e50faf FPR[15] = 6.93017e+18 (0x43d80b3996f58545) VPR[15] = 0xdf46e778ce75384c4ebb3d0b5eace927 [x: -1.43326e+19 y: -1.02853e+09 z: 1.57067e+09 w: 6.22977e+18] | |
GPR[16] = 0xdc88d9d36c0aa531 FPR[16] = 5.24775e+18 (0x43d234f05c0a51fe) VPR[16] = 0xde866d34cd67d6b94d8913745f578229 [x: -4.84323e+18 y: -2.43101e+08 z: 2.87469e+08 w: 1.5529e+19] | |
GPR[17] = 0xacb321c616d36dae FPR[17] = 1.6896e+19 (0x43ed4f52e708d97a) VPR[17] = 0xdeca98f1ced224584ebf3b355d01fdad [x: -7.29934e+18 y: -1.7628e+09 z: 1.60416e+09 w: 5.85427e+17] | |
GPR[18] = 0xac661c0c9c66bb14 FPR[18] = 9.77017e+18 (0x43e0f2d419279ae3) VPR[18] = 0xdf77ed6ecce72f714e3402775e86306f [x: -1.78651e+19 y: -1.21208e+08 z: 7.55015e+08 w: 4.83468e+18] | |
GPR[19] = 0x3c685b4f013976eb FPR[19] = 7.43753e+18 (0x43d9cddb4abb0127) VPR[19] = 0xde0338e8ceee38b54e9882a05f5c0a3b [x: -2.36389e+18 y: -1.99835e+09 z: 1.27935e+09 w: 1.58556e+19] | |
GPR[20] = 0x0597b7dd084ad013 FPR[20] = 1.24003e+19 (0x43e582d8202ab680) VPR[20] = 0xdf2c7a20ce2fd4a34d3eec4c5f0750cc [x: -1.24283e+19 y: -7.37487e+08 z: 2.00197e+08 w: 9.75052e+18] | |
GPR[21] = 0xcacfb94bd5c3f1bb FPR[21] = 1.30451e+19 (0x43e6a12bb0215932) VPR[21] = 0xdf64b4a4cea213884eedb53c5ef4fa74 [x: -1.648e+19 y: -1.35959e+09 z: 1.99404e+09 w: 8.82627e+18] | |
GPR[22] = 0xf3698d3a13c6d226 FPR[22] = 8.84346e+18 (0x43deae926e22b7fb) VPR[22] = 0xdcdeafa3ce019f854e5d6a8b5f1abba6 [x: -5.01444e+17 y: -5.43679e+08 z: 9.28687e+08 w: 1.11497e+19] | |
GPR[23] = 0xd884782e70c4376d FPR[23] = 4.33275e+18 (0x43ce1080a32a54f5) VPR[23] = 0xdf10cb9cce747b2d4e1035ce5e8f22ab [x: -1.04336e+19 y: -1.02543e+09 z: 6.04861e+08 w: 5.157e+18] | |
GPR[24] = 0x670f9e3a38093df9 FPR[24] = 1.83958e+19 (0x43efe965f64244ca) VPR[24] = 0xdf632293cd9618fb4e864da85f3b9ce5 [x: -1.63668e+19 y: -3.14777e+08 z: 1.12662e+09 w: 1.35189e+19] | |
GPR[25] = 0x096ae5feff173973 FPR[25] = 1.44389e+19 (0x43e90c2d14d94bbb) VPR[25] = 0xdf00b774ce8b1ae14e9bf4545f41ce56 [x: -9.27501e+18 y: -1.1669e+09 z: 1.30824e+09 w: 1.39652e+19] | |
GPR[26] = 0x0849b0a0750811f7 FPR[26] = 8.08493e+18 (0x43dc0cdbec9afa72) VPR[26] = 0xdf41ca00ced64bb94e0a77885e386857 [x: -1.3964e+19 y: -1.79764e+09 z: 5.80772e+08 w: 3.32199e+18] | |
GPR[27] = 0x186eb9f98c25c0e5 FPR[27] = 1.22084e+19 (0x43e52d98bac30191) VPR[27] = 0xdeb0412acdce06e64db8bdb65b6a18bb [x: -6.35024e+18 y: -4.3207e+08 z: 3.8743e+08 w: 6.58923e+16] | |
GPR[28] = 0xc4e68c6e1d239f53 FPR[28] = 8.1471e+18 (0x43dc4413da4aec11) VPR[28] = 0xdf026b05ce1273d24ebcda905f7c3823 [x: -9.39761e+18 y: -6.14266e+08 z: 1.58422e+09 w: 1.81743e+19] | |
GPR[29] = 0x972de3d2b5a7ca52 FPR[29] = 4.38182e+18 (0x43ce67aeb6f5e4ee) VPR[29] = 0xdf699d94ce66b2d64dd402d75f679f74 [x: -1.68338e+19 y: -9.6762e+08 z: 4.44619e+08 w: 1.66902e+19] | |
GPR[30] = 0x7d6ad12fca10e3be FPR[30] = 2.38991e+18 (0x43c095545a131912) VPR[30] = 0xde9f880dce8503064ede03785f7cd80c [x: -5.74773e+18 y: -1.11578e+09 z: 1.86238e+09 w: 1.82193e+19] | |
GPR[31] = 0x267daecc37d091b8 FPR[31] = 1.01427e+19 (0x43e1984232335dec) VPR[31] = 0xdf514aacce5a94464dfc5ac65eec908f [x: -1.50811e+19 y: -9.16788e+08 z: 5.29226e+08 w: 8.52314e+18] | |
SPRG[0] = 0xb979870ff6393642 | |
SPRG[1] = 0xd8995f4150a4997e | |
SPRG[2] = 0xe79e26b09a20d4c4 | |
SPRG[3] = 0xc7560ea67490d8ed | |
SPRG[4] = 0x169f4399b748aeee | |
SPRG[5] = 0xcc91150cc13401ea | |
SPRG[6] = 0x24a24b0e68f5b5a5 | |
SPRG[7] = 0xd5854dc01ea3e121 | |
CR = 0xaf998fcf LR = 0xf5022e129ee15cd9 CTR = 0x19d29c20d3153aae TB=0x4486b37c7c71d45b | |
XER = 0x0000000020000000 [CA=1 | OV=0 | SO=0] | |
mem_block[0] = 0xe91d8e614a876fd4 mem_block[1] = 0x5ce51bdb5ac01a3f | |
mem_block[2] = 0x7ef36afc93ffa8d0 mem_block[3] = 0x5ec9aee4e68f9987 | |
mem_block[4] = 0x2296524680b6a7eb mem_block[5] = 0x6b1c94013fd5e9ad | |
mem_block[6] = 0x2b6b8007ed15fdd8 mem_block[7] = 0xbb017a2963c4ed4f | |
mem_block[8] = 0x0dfd6b7608ae7e53 mem_block[9] = 0x2986ff2853a6f367 | |
mem_block[10] = 0xd35b705dd06d5fa0 mem_block[11] = 0x08ea7745de9af6fb | |
mem_block[12] = 0x4bee8da055290a39 mem_block[13] = 0xd081c59fada76b30 | |
mem_block[14] = 0x62201d23a61245e2 mem_block[15] = 0x8feb56cf239765e3 | |
mem_block[16] = 0x1b67175b5d97a1f7 mem_block[17] = 0xe6d1bce59ea1b22a | |
mem_block[18] = 0x4971fb0fcd0f7863 mem_block[19] = 0xcf32b4625508d3b0 | |
mem_block[20] = 0x6f1f652c5a688098 mem_block[21] = 0xd9ec17037d2d1e7f | |
mem_block[22] = 0x10677c929f152680 mem_block[23] = 0x3ff3e674aec4cb27 | |
mem_block[24] = 0xff3b171471c623b2 mem_block[25] = 0x9fffc080879c1ce0 | |
mem_block[26] = 0xa8aef9021491629f mem_block[27] = 0x457769a909214f75 | |
mem_block[28] = 0xdc3bcd68981b4e2d mem_block[29] = 0xb1faece4777a7016 | |
mem_block[30] = 0xe47ccb934b192702 mem_block[31] = 0x909afca3141e5013 | |
mem_block[32] = 0x124f13089fee9eeb mem_block[33] = 0x49af90841b15c542 | |
mem_block[34] = 0x0de5d65a2c03674b mem_block[35] = 0x21d04cf9619524c6 | |
mem_block[36] = 0x18a4cc87dc5e81d3 mem_block[37] = 0x6723d21332e95bbe | |
mem_block[38] = 0x35f3dc837c07f5e0 mem_block[39] = 0x03c794cf5b5508d2 | |
mem_block[40] = 0x3444aeb1f2a4237b mem_block[41] = 0xec4d42971a3420f8 | |
mem_block[42] = 0x383c414b0333cbbd mem_block[43] = 0xa12c2219e677358f | |
mem_block[44] = 0x220c457c8b2393e0 mem_block[45] = 0x206c9e3845b4c987 | |
mem_block[46] = 0xbf45c893f6318859 mem_block[47] = 0x42978bf9cdeafe0a | |
mem_block[48] = 0x5db35b60846b9b1c mem_block[49] = 0xba3f4ce6710c9a20 | |
mem_block[50] = 0xebdc72450956a8f8 mem_block[51] = 0x85aff8131682b158 | |
mem_block[52] = 0x6162581e44f328a0 mem_block[53] = 0x8664ab88e09f295f | |
mem_block[54] = 0x1117a84592a0dafa mem_block[55] = 0xd6bb05a0e9784910 | |
mem_block[56] = 0xc19f210878a5d5ae mem_block[57] = 0xf73b3bc5c9bc5fc2 | |
mem_block[58] = 0x61f7619f874b872b mem_block[59] = 0xf74be21537352864 | |
mem_block[60] = 0x78ff2fe4d065548a mem_block[61] = 0xce829956d79d0626 | |
mem_block[62] = 0xa838cf064132c783 mem_block[63] = 0xd07580bb2c9e8633 | |
State diff: | |
recomp: CR = 0x0de989f6 | |
interp: CR = 0xaf998fcf | |
Running test MTOCRF.2 | |
LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.2(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 768 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 983040 | |
%7 = and i32 %2, -983041 | |
%8 = or i32 %6, %7 | |
%9 = getelementptr i8* %ppu_state, i32 1540 | |
%10 = bitcast i8* %9 to i32* | |
store i32 %8, i32* %10, align 4 | |
ret i32 0 | |
} | |
Optimized LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.2(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 768 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 983040 | |
%7 = and i32 %2, -983041 | |
%8 = or i32 %6, %7 | |
store i32 %8, i32* %4, align 4 | |
ret i32 0 | |
} | |
Test MTOCRF.2 failed | |
Input state: | |
GPR[00] = 0x7682cbfcd226365e FPR[00] = 6.13694e+18 (0x43d54ab264b73579) VPR[00] = 0xdea285a0cdab60604e8416e35e825f13 [x: -5.85547e+18 y: -3.59402e+08 z: 1.10805e+09 w: 4.69712e+18] | |
GPR[01] = 0xdf74fa2b50510565 FPR[01] = 1.95659e+18 (0x43bb272fdc85fb71) VPR[01] = 0xde298b88ceda2d5e4efde4515de4f567 [x: -3.05425e+18 y: -1.8302e+09 z: 2.1298e+09 w: 2.06228e+18] | |
GPR[02] = 0x4c3d2faeb4176046 FPR[02] = 1.78269e+19 (0x43eeecba306c75f1) VPR[02] = 0xdee52f99cec32f114edaf9d65f2aca49 [x: -8.25729e+18 y: -1.63732e+09 z: 1.8369e+09 w: 1.23067e+19] | |
GPR[03] = 0xdc8d10a26cd619f6 FPR[03] = 9.85471e+18 (0x43e1185e4f1a8762) VPR[03] = 0xddcc6c72cee763a04ee102ee5da2eed2 [x: -1.84128e+18 y: -1.94103e+09 z: 1.88753e+09 w: 1.46757e+18] | |
GPR[04] = 0xdaf69fdf7fc92d0c FPR[04] = 3.3466e+18 (0x43c738bf4e155bb6) VPR[04] = 0xdf67ca05ce151baa4e86cf805e67a180 [x: -1.67022e+19 y: -6.25405e+08 z: 1.13087e+09 w: 4.17269e+18] | |
GPR[05] = 0x2ad89190c94aade7 FPR[05] = 1.28432e+19 (0x43e64786084fd781) VPR[05] = 0xdd896458cef1dbba4d00f6de5e5b78b1 [x: -1.23752e+18 y: -2.02885e+09 z: 1.35229e+08 w: 3.95365e+18] | |
GPR[06] = 0x7387a1cf47f398e7 FPR[06] = 2.12019e+18 (0x43bd6c6df2dec85e) VPR[06] = 0xde8ce1b6ce8af9c94d8f31315e8f57f4 [x: -5.0758e+18 y: -1.16581e+09 z: 3.00296e+08 w: 5.1645e+18] | |
GPR[07] = 0x834b4540544f3b2d FPR[07] = 1.7523e+19 (0x43ee65cb09a2444b) VPR[07] = 0xde185cc4ceb234b34d7eef3b5f64c4c6 [x: -2.74472e+18 y: -1.4949e+09 z: 2.67318e+08 w: 1.64845e+19] | |
GPR[08] = 0x838c9338e0ae80c4 FPR[08] = 7.94508e+18 (0x43db90a55556479e) VPR[08] = 0xdf16c56ecec1a5e54eb64a955e831738 [x: -1.08642e+19 y: -1.62444e+09 z: 1.52917e+09 w: 4.72304e+18] | |
GPR[09] = 0xef0160f118ef8fdf FPR[09] = 1.11448e+19 (0x43e3554d1dc916ec) VPR[09] = 0xdf4230e3ce77e08f4ef02b105d1931df [x: -1.39929e+19 y: -1.03967e+09 z: 2.01468e+09 w: 6.89928e+17] | |
GPR[10] = 0xe5ef239b95acae3d FPR[10] = 1.66545e+19 (0x43ece418efeffcd0) VPR[10] = 0xdf1bd779ceb2fded4ee3f1425eca0dfc [x: -1.12296e+19 y: -1.50149e+09 z: 1.91212e+09 w: 7.27979e+18] | |
GPR[11] = 0x6d3e039b8ed03975 FPR[11] = 8.32468e+18 (0x43dce1cdbe0e36ef) VPR[11] = 0xdf3a8ececd4e9cb44eea6f005ead29c6 [x: -1.34429e+19 y: -2.16649e+08 z: 1.96657e+09 w: 6.23886e+18] | |
GPR[12] = 0xa91f0e1195f5daac FPR[12] = 1.65175e+19 (0x43eca73f0a9daadd) VPR[12] = 0xdf251009ce82728d4e20d73a5f636def [x: -1.1894e+19 y: -1.09427e+09 z: 6.74615e+08 w: 1.6388e+19] | |
GPR[13] = 0x6185836852211fa4 FPR[13] = 2.73558e+18 (0x43c2fb5fb4fdc64a) VPR[13] = 0xde915d45cdc329a54dcc0ce85f0abb00 [x: -5.2373e+18 y: -4.09286e+08 z: 4.27925e+08 w: 9.99658e+18] | |
GPR[14] = 0xcb0990bacf9c9ff8 FPR[14] = 7.69094e+18 (0x43daaeec7b97f589) VPR[14] = 0xdf595074ce1149de4d9788e45ebc5a6f [x: -1.56591e+19 y: -6.09384e+08 z: 3.17791e+08 w: 6.78614e+18] | |
GPR[15] = 0x09742b3b8c03bb3f FPR[15] = 1.09485e+19 (0x43e2fe17ba4627bb) VPR[15] = 0xde84ecd8cdd406444e2c3fbd5f6a15d7 [x: -4.78913e+18 y: -4.44648e+08 z: 7.22465e+08 w: 1.68676e+19] | |
GPR[16] = 0x047aafedd3b602fb FPR[16] = 1.93354e+18 (0x43bad54e35de2854) VPR[16] = 0xdeabd87ccea839c94ef47d1e5ea729dd [x: -6.19139e+18 y: -1.41118e+09 z: 2.05092e+09 w: 6.0227e+18] | |
GPR[17] = 0x3dc006c890daacdf FPR[17] = 1.29613e+19 (0x43e67bf8d87c598c) VPR[17] = 0xde58dab6ce89c3164eaad1b05f224f8a [x: -3.9065e+18 y: -1.15563e+09 z: 1.43293e+09 w: 1.16957e+19] | |
GPR[18] = 0x92a664b8a8200434 FPR[18] = 1.80655e+19 (0x43ef56b4474a74e0) VPR[18] = 0xdda2d701ce6a1b434ea622165e16cfa3 [x: -1.46673e+18 y: -9.81914e+08 z: 1.39363e+09 w: 2.71677e+18] | |
GPR[19] = 0xc11d6694494ecdc1 FPR[19] = 4.92053e+17 (0x439b507ee250ed47) VPR[19] = 0xded64232ce01aac24e44160f5e9730d6 [x: -7.71948e+18 y: -5.43863e+08 z: 8.22445e+08 w: 5.44722e+18] | |
GPR[20] = 0x9af70b1d0f50818c FPR[20] = 4.1488e+18 (0x43ccc9c116862afd) VPR[20] = 0xde95e803cee2bc0a4e0b4bf05f10f38a [x: -5.40094e+18 y: -1.90199e+09 z: 5.84252e+08 w: 1.04448e+19] | |
GPR[21] = 0x1e7dc4378f148bd1 FPR[21] = 1.64394e+19 (0x43ec84930069066a) VPR[21] = 0xdde5bacecd0b19254e1a1af35ef44714 [x: -2.06922e+18 y: -1.45855e+08 z: 6.46364e+08 w: 8.80103e+18] | |
GPR[22] = 0x8a70fda77c808588 FPR[22] = 1.09943e+19 (0x43e312726ef7d2a4) VPR[22] = 0xdf13573ecec6a1df4dca5cf55cd5de0e [x: -1.0617e+19 y: -1.66625e+09 z: 4.24386e+08 w: 4.81587e+17] | |
GPR[23] = 0x550490602a37dc4d FPR[23] = 1.75539e+19 (0x43ee73820730b10d) VPR[23] = 0xded81f0bce41b2e94e010ff35c47b488 [x: -7.78659e+18 y: -8.12432e+08 z: 5.41327e+08 w: 2.24848e+17] | |
GPR[24] = 0xad7fddfc0fc7ad49 FPR[24] = 8.67923e+18 (0x43de1cb42ee5b2da) VPR[24] = 0xdf0f8ba0ce04558a4dcfb7955f7ab317 [x: -1.03435e+19 y: -5.5505e+08 z: 4.35614e+08 w: 1.80648e+19] | |
GPR[25] = 0x7684069657a49664 FPR[25] = 1.5995e+19 (0x43ebbf3605221eeb) VPR[25] = 0xdf47e2d0cde77a964ebb93c55eb2b712 [x: -1.44033e+19 y: -4.85446e+08 z: 1.57351e+09 w: 6.43889e+18] | |
GPR[26] = 0x5b4d7730c9e0d616 FPR[26] = 1.78412e+19 (0x43eef318a8bb5eaf) VPR[26] = 0xded35d44cec4d87c4efd158c5f62f9f8 [x: -7.6152e+18 y: -1.65126e+09 z: 2.12302e+09 w: 1.63554e+19] | |
GPR[27] = 0x554d15461383f518 FPR[27] = 5.90998e+18 (0x43d4811d55e7ac81) VPR[27] = 0xdf3f670ace98b2904daec19e5e0454a6 [x: -1.3792e+19 y: -1.28092e+09 z: 3.66491e+08 w: 2.38386e+18] | |
GPR[28] = 0x919b12cd837aec06 FPR[28] = 3.36507e+18 (0x43c7598f959bf26a) VPR[28] = 0xdf306abace9708be4e9958a45f5857df [x: -1.27122e+19 y: -1.26697e+09 z: 1.28636e+09 w: 1.55892e+19] | |
GPR[29] = 0xde5e59caedb9c4eb FPR[29] = 1.59657e+19 (0x43ebb235a25c4bfe) VPR[29] = 0xdd3d4637ce50ea4d4ea70f895f3c8794 [x: -8.52416e+17 y: -8.76254e+08 z: 1.40141e+09 w: 1.3585e+19] | |
GPR[30] = 0xed9f54c92321173b FPR[30] = 1.95587e+18 (0x43bb24a26fa11eb2) VPR[30] = 0xde74cc12cef9b1014c9e5aad5c8fc4bb [x: -4.40987e+18 y: -2.09456e+09 z: 8.30232e+07 w: 3.23738e+17] | |
GPR[31] = 0xef9d1351493786e8 FPR[31] = 1.47096e+18 (0x43b469e3c74148c3) VPR[31] = 0xde9022f3cedd474b4ef8947c5c6ec355 [x: -5.19307e+18 y: -1.85622e+09 z: 2.08524e+09 w: 2.68823e+17] | |
SPRG[0] = 0x0deeadf84e5d9198 | |
SPRG[1] = 0xc85bc64848eb9238 | |
SPRG[2] = 0x481621c7905dbf23 | |
SPRG[3] = 0x2801a05cb02d3eea | |
SPRG[4] = 0x630e813532cb3ef6 | |
SPRG[5] = 0xb9801a9f3e431dae | |
SPRG[6] = 0xd17851c5880fbafe | |
SPRG[7] = 0x7fbe8b4d7c17ab48 | |
CR = 0x4cfbec9a LR = 0x7d63d66830eb064e CTR = 0x54de246eea156a41 TB=0x008d4aea1eb2f457 | |
XER = 0x0000000000000000 [CA=0 | OV=0 | SO=0] | |
mem_block[0] = 0x933b2cd84885c0df mem_block[1] = 0x78f6b2426cdc5059 | |
mem_block[2] = 0x2c02f8518d5c79e2 mem_block[3] = 0xec52370f5f2210ee | |
mem_block[4] = 0x322241722af96b47 mem_block[5] = 0xcafc541c4e36694d | |
mem_block[6] = 0xd2f25f6c5d810cde mem_block[7] = 0x4ed1dd3deb1895f2 | |
mem_block[8] = 0x1e5780e41a48dd7f mem_block[9] = 0xe151cdd28c241d5c | |
mem_block[10] = 0x0177fcdbdbbea19e mem_block[11] = 0x00ee58d5843fd137 | |
mem_block[12] = 0xf99beb45f474ca89 mem_block[13] = 0x2a013751cf684b49 | |
mem_block[14] = 0x55a77ddf47e6dd19 mem_block[15] = 0x3c98aa993565d3a7 | |
mem_block[16] = 0x3bdd04b733ee6f91 mem_block[17] = 0xe495daf0162b964e | |
mem_block[18] = 0xfc476d9136d0dcea mem_block[19] = 0x13966896d6f74672 | |
mem_block[20] = 0x2dc87b567ac3b339 mem_block[21] = 0x704f0e2bc8693ff9 | |
mem_block[22] = 0xc2f560a848970dc9 mem_block[23] = 0x136bc6219a8257c4 | |
mem_block[24] = 0x0106798fe359b419 mem_block[25] = 0xd03649e9a51d46d6 | |
mem_block[26] = 0x7c0b41972543bea9 mem_block[27] = 0xa59ccfa91a7ebe01 | |
mem_block[28] = 0xaa566f5df0e5e829 mem_block[29] = 0x2172ce681edbbc92 | |
mem_block[30] = 0x3ca4e83c82d2c218 mem_block[31] = 0x1928a55cd5783d18 | |
mem_block[32] = 0x24aa4ab32eee8c7f mem_block[33] = 0x1c4b2f8f39ca0d41 | |
mem_block[34] = 0x8505d7ff7aff31d0 mem_block[35] = 0x90ef9392ae24b23c | |
mem_block[36] = 0x337f842b7b99dd9a mem_block[37] = 0x84f77b42fb985ca7 | |
mem_block[38] = 0x8c10638876c28c52 mem_block[39] = 0x3054db8604b46108 | |
mem_block[40] = 0x3e477fde50956be7 mem_block[41] = 0xf5c5451dbd4dcb21 | |
mem_block[42] = 0x98eb8ddb1d71eb59 mem_block[43] = 0x18a5b66cc6b8e0b1 | |
mem_block[44] = 0xecaf03ba12795043 mem_block[45] = 0x2dc770f6bb42170d | |
mem_block[46] = 0xd5d6539afe63b4f1 mem_block[47] = 0xabe5b8d759ef4618 | |
mem_block[48] = 0x568be47545e54815 mem_block[49] = 0x73b21b82ff1cab0e | |
mem_block[50] = 0x58434b7487c52c2b mem_block[51] = 0xba4181b082ea726c | |
mem_block[52] = 0x6e0d077cdd92bc36 mem_block[53] = 0x1a1bcdd74739e90f | |
mem_block[54] = 0x8cc19b09dddb4aac mem_block[55] = 0xcf9b9d1632e6b6cd | |
mem_block[56] = 0xcd10ce327f3e107a mem_block[57] = 0x293a0ddcf7b106ab | |
mem_block[58] = 0xb018f0cfdb2a1b67 mem_block[59] = 0x103d82bb70c734cf | |
mem_block[60] = 0xda1c6e2584d9a4dc mem_block[61] = 0xd078299564d51dca | |
mem_block[62] = 0x04f57a919d475e9e mem_block[63] = 0x38d1983129e97c83 | |
State diff: | |
recomp: CR = 0xd22b365e | |
interp: CR = 0x4cfb3c9a | |
Running test MTOCRF.3 | |
LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.3(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 768 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 983040 | |
%7 = and i32 %2, -983041 | |
%8 = or i32 %6, %7 | |
%9 = getelementptr i8* %ppu_state, i32 1540 | |
%10 = bitcast i8* %9 to i32* | |
store i32 %8, i32* %10, align 4 | |
ret i32 0 | |
} | |
Optimized LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.3(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 768 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 983040 | |
%7 = and i32 %2, -983041 | |
%8 = or i32 %6, %7 | |
store i32 %8, i32* %4, align 4 | |
ret i32 0 | |
} | |
Test MTOCRF.3 failed | |
Input state: | |
GPR[00] = 0xcfe4dd601e1362bf FPR[00] = 1.54214e+18 (0x43b566c70028bf29) VPR[00] = 0xdef641cacea157074de2c7f55f2d8684 [x: -8.87234e+18 y: -1.35342e+09 z: 4.75594e+08 w: 1.25038e+19] | |
GPR[01] = 0x5ef112563bb9ed98 FPR[01] = 4.51636e+18 (0x43cf56aaf6cc951b) VPR[01] = 0xde9fc343ce4f006f4ef167735e15ac16 [x: -5.75606e+18 y: -8.68228e+08 z: 2.02504e+09 w: 2.69625e+18] | |
GPR[02] = 0x4f9c40b3a1f81169 FPR[02] = 1.20321e+19 (0x43e4df4ffd64c622) VPR[02] = 0xdf299cdccd1ea5974e0e7c975f5bf7c6 [x: -1.22219e+19 y: -1.66353e+08 z: 5.97632e+08 w: 1.58504e+19] | |
GPR[03] = 0x70464c7a6489af00 FPR[03] = 5.18197e+18 (0x43d1fa83ab03b385) VPR[03] = 0xde7d3752ce1374864da762975f7b549d [x: -4.56154e+18 y: -6.18472e+08 z: 3.51032e+08 w: 1.81103e+19] | |
GPR[04] = 0x4238ef58820aa75b FPR[04] = 5.56564e+18 (0x43d34f47c2e08871) VPR[04] = 0xde1de5b4ce2dbf644ef1eeb45d80f25b [x: -2.84442e+18 y: -7.2875e+08 z: 2.02948e+09 w: 1.16145e+18] | |
GPR[05] = 0x2bac6d9fa276a105 FPR[05] = 8.20087e+18 (0x43dc73d66ebd2352) VPR[05] = 0xdf653265cdd21d9a4ed1d08e5f03de5e [x: -1.65154e+19 y: -4.40644e+08 z: 1.76005e+09 w: 9.50214e+18] | |
GPR[06] = 0x3b7f3a4cd508d3b4 FPR[06] = 1.39075e+19 (0x43e8202fa8fdd46a) VPR[06] = 0xdf3661b5ce29e2874edf88875f705065 [x: -1.3142e+19 y: -7.12549e+08 z: 1.87513e+09 w: 1.73165e+19] | |
GPR[07] = 0xb464962531185dbe FPR[07] = 6.91288e+18 (0x43d7fbdec8e41b0c) VPR[07] = 0xdf685778ce8706814eeba6b75f57cdd0 [x: -1.6742e+19 y: -1.13268e+09 z: 1.97679e+09 w: 1.55503e+19] | |
GPR[08] = 0xf02858f7647c391e FPR[08] = 1.87475e+18 (0x43ba0472d00acdf1) VPR[08] = 0xdf77d0beced5522a4efbeec25f410310 [x: -1.7857e+19 y: -1.78947e+09 z: 2.11336e+09 w: 1.3908e+19] | |
GPR[09] = 0x5d9db6e9702957bf FPR[09] = 2.57101e+18 (0x43c1d708fa81f1aa) VPR[09] = 0xdf2280bececadcdf4ec314d25e168b10 [x: -1.17096e+19 y: -1.70174e+09 z: 1.63646e+09 w: 2.71195e+18] | |
GPR[10] = 0x2117abdc197e3c27 FPR[10] = 5.58893e+18 (0x43d363f7977413e8) VPR[10] = 0xdebf89c7cec196274e7c7b185f4ca019 [x: -6.90089e+18 y: -1.62392e+09 z: 1.05898e+09 w: 1.47448e+19] | |
GPR[11] = 0x97e6b7d5ca32e4c7 FPR[11] = 3.84366e+17 (0x4395562d06157a28) VPR[11] = 0xdf21713fce3b281e4e6861a25e7aa04e [x: -1.16331e+19 y: -7.84992e+08 z: 9.74678e+08 w: 4.51488e+18] | |
GPR[12] = 0x4b9bfaef914752bf FPR[12] = 1.55879e+19 (0x43eb0a6e880e777a) VPR[12] = 0xdddb60a9ce58c0934ef372d55e9bcc73 [x: -1.97598e+18 y: -9.09125e+08 z: 2.04219e+09 w: 5.61324e+18] | |
GPR[13] = 0xcc933953d30fbfd2 FPR[13] = 1.1983e+19 (0x43e4c98a1e2258e0) VPR[13] = 0xdefc5076cee30f9e4e2dd6075f7e678b [x: -9.09058e+18 y: -1.90473e+09 z: 7.29121e+08 w: 1.83318e+19] | |
GPR[14] = 0x9c163d9a4ed6dcf7 FPR[14] = 4.97534e+18 (0x43d142fd8c991e23) VPR[14] = 0xde2c88bbcee4cb344d0cc05e5e5b263f [x: -3.1081e+18 y: -1.91926e+09 z: 1.47589e+08 w: 3.94784e+18] | |
GPR[15] = 0x9db80676e6e1c5c5 FPR[15] = 1.77379e+19 (0x43eec533ec1993bf) VPR[15] = 0xde67e6bacdc429734d846a1d5e3ea648 [x: -4.17756e+18 y: -4.11381e+08 z: 2.77693e+08 w: 3.43444e+18] | |
GPR[16] = 0x7b1a44eec32d78da FPR[16] = 6.35259e+18 (0x43d60a3b41079f40) VPR[16] = 0xdf43f09fce9d19b84e20e2245dcfb4fa [x: -1.4119e+19 y: -1.31785e+09 z: 6.74794e+08 w: 1.87086e+18] | |
GPR[17] = 0xb5a8654de9956469 FPR[17] = 8.08314e+18 (0x43dc0b45679fcb18) VPR[17] = 0xdec372c7ce99ba5b4eb0786d5f78d2b5 [x: -7.04177e+18 y: -1.28956e+09 z: 1.48034e+09 w: 1.79296e+19] | |
GPR[18] = 0xa3c0cddfa7ce9ac0 FPR[18] = 9.19535e+18 (0x43dfe71ce2ecfd76) VPR[18] = 0xde7478a0ce01e5094e58c7c25e7ce7f1 [x: -4.404e+18 y: -5.44818e+08 z: 9.09242e+08 w: 4.55595e+18] | |
GPR[19] = 0x417031a00362001b FPR[19] = 1.12768e+19 (0x43e38febecc9a7ac) VPR[19] = 0xdf359f46ce79d6af4df98c955f3225c9 [x: -1.30873e+19 y: -1.0479e+09 z: 5.23342e+08 w: 1.28369e+19] | |
GPR[20] = 0x8c1735609beccba5 FPR[20] = 8.06118e+18 (0x43dbf7c3133d8f38) VPR[20] = 0xdf069c46ce1560214e96ce935f786540 [x: -9.6997e+18 y: -6.26526e+08 z: 1.26506e+09 w: 1.78988e+19] | |
GPR[21] = 0x215190cb8ff9f38d FPR[21] = 1.15751e+19 (0x43e4145f504a623e) VPR[21] = 0xdec62589cc9bf7214e302a225f67aa0e [x: -7.13898e+18 y: -8.17708e+07 z: 7.38888e+08 w: 1.66932e+19] | |
GPR[22] = 0x67d5d470e98488c1 FPR[22] = 9.87975e+18 (0x43e1237d76b122d0) VPR[22] = 0xdf6f5186cda2236a4cd0bb5d5f35f684 [x: -1.72447e+19 y: -3.40029e+08 z: 1.09436e+08 w: 1.31118e+19] | |
GPR[23] = 0x5784ac04bfb34ab0 FPR[23] = 1.55309e+19 (0x43eaf11ef816262d) VPR[23] = 0xdef280b8ced50b494eeab4145e3c7d4e [x: -8.73708e+18 y: -1.78714e+09 z: 1.96884e+09 w: 3.39552e+18] | |
GPR[24] = 0x9ad022c6ac6ca6ff FPR[24] = 1.2856e+19 (0x43e64d384416338c) VPR[24] = 0xde83e219cea383914eb789005daf1766 [x: -4.75159e+18 y: -1.37165e+09 z: 1.5396e+09 w: 1.57708e+18] | |
GPR[25] = 0xaf60d0126529d0e0 FPR[25] = 2.16336e+18 (0x43be05d02b3f2599) VPR[25] = 0xde6e69bfce997bfc4e84f45d5d30d6bd [x: -4.29487e+18 y: -1.28752e+09 z: 1.1153e+09 w: 7.96411e+17] | |
GPR[26] = 0x4ab4432b2e490a54 FPR[26] = 1.09857e+18 (0x43ae7dcf1e9ba223) VPR[26] = 0xded22a35cd8e7c774e1f4d165f57fae4 [x: -7.57199e+18 y: -2.98815e+08 z: 6.68157e+08 w: 1.5563e+19] | |
GPR[27] = 0xe5e72dcd9cfe0e56 FPR[27] = 1.63257e+19 (0x43ec52161ae0101c) VPR[27] = 0xde91b161ce880a244e925e9d5f62fdae [x: -5.24914e+18 y: -1.14118e+09 z: 1.22784e+09 w: 1.63564e+19] | |
GPR[28] = 0x90b810fafa48a631 FPR[28] = 3.9877e+18 (0x43cbab941c571006) VPR[28] = 0xde23bd2bcdc13d974eee46395f29eb21 [x: -2.94966e+18 y: -4.05255e+08 z: 1.99879e+09 w: 1.22439e+19] | |
GPR[29] = 0xc85a37827358a695 FPR[29] = 1.33443e+19 (0x43e7260b2eaedd6e) VPR[29] = 0xdf5b4f13cef2f6784eaf1fee5e1f2121 [x: -1.58029e+19 y: -2.03812e+09 z: 1.46905e+09 w: 2.86662e+18] | |
GPR[30] = 0x725e6b93afe292d6 FPR[30] = 6.61532e+18 (0x43d6f395c27425f5) VPR[30] = 0xdf62bc55cee04a084e24efa05e8b68b9 [x: -1.6338e+19 y: -1.88147e+09 z: 6.91792e+08 w: 5.02274e+18] | |
GPR[31] = 0x5d2c54f4cd313b1f FPR[31] = 1.16114e+19 (0x43e4247c3c5aff0f) VPR[31] = 0xdf1bb520ce24c1744ec68b455eae9488 [x: -1.12199e+19 y: -6.91035e+08 z: 1.66551e+09 w: 6.28991e+18] | |
SPRG[0] = 0x2080c1f2d02bf5f9 | |
SPRG[1] = 0xb01b616e1f563619 | |
SPRG[2] = 0x683e75e4f1fb35f7 | |
SPRG[3] = 0x25376336b73ed5b5 | |
SPRG[4] = 0x9e54826611996524 | |
SPRG[5] = 0xe666f248ce26fdcc | |
SPRG[6] = 0xaace293194edfcb6 | |
SPRG[7] = 0x35d85fc21693b480 | |
CR = 0xb293f5e4 LR = 0x07d47880c2c9a27a CTR = 0x0c7de394dad57b89 TB=0x22082a8c77a9994b | |
XER = 0x0000000020000000 [CA=1 | OV=0 | SO=0] | |
mem_block[0] = 0xbd82817682a152de mem_block[1] = 0xf33e17426e949e63 | |
mem_block[2] = 0x04dc45ba5a151509 mem_block[3] = 0xb581d4dc924b1237 | |
mem_block[4] = 0x7341afcef90935dc mem_block[5] = 0xdd2afdb0d5390fd5 | |
mem_block[6] = 0x6c41dff2f37dc8d9 mem_block[7] = 0xee892537ae43cfb9 | |
mem_block[8] = 0xe14aacd5d08d7d2a mem_block[9] = 0x0b732ec4edbf81a1 | |
mem_block[10] = 0xdd4fe337fad05a86 mem_block[11] = 0x6e0a1833fca7f6a6 | |
mem_block[12] = 0x61ef1fb70f783e49 mem_block[13] = 0x182ac8fa49eb3fa1 | |
mem_block[14] = 0xa942f12f1255f221 mem_block[15] = 0xe537fcc4f867827e | |
mem_block[16] = 0xe9249bc16ce87c69 mem_block[17] = 0xb4154289b5c86c60 | |
mem_block[18] = 0x631b796f7342b4a9 mem_block[19] = 0xe3e00ed35fbf14ad | |
mem_block[20] = 0x7bbc1ebc95a3d449 mem_block[21] = 0xeb4f6a5926f03a7a | |
mem_block[22] = 0xb9f39129464a8ac9 mem_block[23] = 0xcae453be3bd59398 | |
mem_block[24] = 0xb69b9f33b54cbf74 mem_block[25] = 0x0e753c64c25a7144 | |
mem_block[26] = 0xfc79297d9390f422 mem_block[27] = 0x14dd5da3622c753d | |
mem_block[28] = 0x9e1faee53c856364 mem_block[29] = 0xe836901fb63588b5 | |
mem_block[30] = 0x87d607c5b4163c19 mem_block[31] = 0xe4da74e1a352280d | |
mem_block[32] = 0x27df47bca09cb97f mem_block[33] = 0x5996af25508443ef | |
mem_block[34] = 0xb76a62f40a735403 mem_block[35] = 0x59197d7c33fe2d11 | |
mem_block[36] = 0xe77f3a6928c05e1d mem_block[37] = 0x7b87f6fd1a35e00d | |
mem_block[38] = 0x4013a12e2369c8be mem_block[39] = 0x961782cd4b1f0a5c | |
mem_block[40] = 0x73adff43fc6cd7a5 mem_block[41] = 0x79796e7006d8e95b | |
mem_block[42] = 0x9fb0fefb37c7a8ec mem_block[43] = 0x80314730f7522a78 | |
mem_block[44] = 0x06e396ad8be15a38 mem_block[45] = 0x33144bad0d0557f4 | |
mem_block[46] = 0x111f2738f3ff18bc mem_block[47] = 0x7957435953449add | |
mem_block[48] = 0xc6b6855729ea5271 mem_block[49] = 0x401d8f3efad4ef96 | |
mem_block[50] = 0x35031908dc40eb4c mem_block[51] = 0x3aee924a610d5c4d | |
mem_block[52] = 0xde641f8a9d4287dd mem_block[53] = 0x5a935ffe41e6ae3d | |
mem_block[54] = 0x0102dba2a7c1cea5 mem_block[55] = 0xb65f1a8a204149b2 | |
mem_block[56] = 0x926cfd1d71572af3 mem_block[57] = 0x7bf8ee48d31e06e1 | |
mem_block[58] = 0x5866f442d45d9bcd mem_block[59] = 0x337f504e6100edb1 | |
mem_block[60] = 0xa73cc21198963a71 mem_block[61] = 0x40e796fc0e9438ce | |
mem_block[62] = 0x07f602ec6c236660 mem_block[63] = 0x31ea961dc860d801 | |
State diff: | |
recomp: CR = 0x1e1362bf | |
interp: CR = 0xb29365e4 | |
Running test MTOCRF.4 | |
LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.4(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 768 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 983040 | |
%7 = and i32 %2, -983041 | |
%8 = or i32 %6, %7 | |
%9 = getelementptr i8* %ppu_state, i32 1540 | |
%10 = bitcast i8* %9 to i32* | |
store i32 %8, i32* %10, align 4 | |
ret i32 0 | |
} | |
Optimized LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.4(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 768 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 983040 | |
%7 = and i32 %2, -983041 | |
%8 = or i32 %6, %7 | |
store i32 %8, i32* %4, align 4 | |
ret i32 0 | |
} | |
Test MTOCRF.4 failed | |
Input state: | |
GPR[00] = 0xb48ee28d330e2ed2 FPR[00] = 7.01902e+18 (0x43d85a2369b7dc57) VPR[00] = 0xdf0045e6cefa1aab4e46eb035d0d783d [x: -9.24305e+18 y: -2.09803e+09 z: 8.34323e+08 w: 6.37123e+17] | |
GPR[01] = 0xd532c3063b4de6b0 FPR[01] = 6.76748e+18 (0x43d77abaec10749e) VPR[01] = 0xdf65e8f6ce14f6994ec5d23b5ed72682 [x: -1.65668e+19 y: -6.24797e+08 z: 1.65944e+09 w: 7.75161e+18] | |
GPR[02] = 0x3f3d4e91fc027b50 FPR[02] = 1.01319e+19 (0x43e19372c5b6ed5a) VPR[02] = 0xde391689ced306324d905a6c5f73db30 [x: -3.33425e+18 y: -1.7702e+09 z: 3.02731e+08 w: 1.75717e+19] | |
GPR[03] = 0x974c297ca4aa5907 FPR[03] = 1.17591e+19 (0x43e4661a2755d5eb) VPR[03] = 0xdede6ee3ce580aae4e9dcd985ed81a31 [x: -8.014e+18 y: -9.06145e+08 z: 1.32375e+09 w: 7.78591e+18] | |
GPR[04] = 0xa0a5b61668f4bc56 FPR[04] = 6.27751e+18 (0x43d5c78bd9292200) VPR[04] = 0xdf181120cd5a4ae14e82ef0d5d47fea1 [x: -1.09576e+19 y: -2.28896e+08 z: 1.09835e+09 w: 9.00696e+17] | |
GPR[05] = 0x52d44c3728231866 FPR[05] = 5.7107e+18 (0x43d3d01f26ad1fa9) VPR[05] = 0xddcc0480ced1f4b04e39e3bf5e9cf821 [x: -1.83763e+18 y: -1.76124e+09 z: 7.79678e+08 w: 5.65541e+18] | |
GPR[06] = 0xba1639046c661252 FPR[06] = 1.67696e+18 (0x43b745c364bf47a0) VPR[06] = 0xdf0aa89bcde8075c4ea7a7305efd2418 [x: -9.99141e+18 y: -4.866e+08 z: 1.40638e+09 w: 9.12037e+18] | |
GPR[07] = 0x96be5fbf9b9c2934 FPR[07] = 9.44795e+17 (0x43aa392c5825e7c0) VPR[07] = 0xdf357d38ce5048674e8329575f5bcd92 [x: -1.30777e+19 y: -8.73601e+08 z: 1.10026e+09 w: 1.58385e+19] | |
GPR[08] = 0x2f92fab8265e1044 FPR[08] = 1.39618e+19 (0x43e8384ca18aecfd) VPR[08] = 0xde675342cd39e26a4e909a485f6b044d [x: -4.16718e+18 y: -1.94914e+08 z: 1.21302e+09 w: 1.69347e+19] | |
GPR[09] = 0xd18ff035236e1fa7 FPR[09] = 1.29172e+18 (0x43b1ed1c36c5885a) VPR[09] = 0xdf3c6d6acedf95764e211b675f15ae08 [x: -1.35776e+19 y: -1.87556e+09 z: 6.75732e+08 w: 1.07856e+19] | |
GPR[10] = 0x5684762b419bd265 FPR[10] = 2.06931e+18 (0x43bcb7a5f839e5ed) VPR[10] = 0xdf15ffb1cdefc3ac4ddd47af5e4243da [x: -1.08086e+19 y: -5.02822e+08 z: 4.64058e+08 w: 3.49957e+18] | |
GPR[11] = 0x56cf7bbb80ee3d45 FPR[11] = 1.39183e+19 (0x43e824f7dad09bd4) VPR[11] = 0xdf5f21d4cea11c744e4a74a45edc1939 [x: -1.60784e+19 y: -1.3515e+09 z: 8.4916e+08 w: 7.92989e+18] | |
GPR[12] = 0x971b6e2e2e02ccbb FPR[12] = 8.57566e+16 (0x43730ab27282f556) VPR[12] = 0xddbd1a01ce0262c04eb745fb5f5212f0 [x: -1.70328e+18 y: -5.46877e+08 z: 1.53741e+09 w: 1.51374e+19] | |
GPR[13] = 0xfdd29f6a422da145 FPR[13] = 7.81002e+18 (0x43db18afeae19715) VPR[13] = 0xde884677cedda70d4d9520b35e924240 [x: -4.90983e+18 y: -1.85936e+09 z: 3.12744e+08 w: 5.26953e+18] | |
GPR[14] = 0xb80ae1fd8975c5d6 FPR[14] = 1.03374e+19 (0x43e1eebf2ad5bc0c) VPR[14] = 0xdf2ed46ecce1c5b54d9c50f05d8febbe [x: -1.25978e+19 y: -1.1837e+08 z: 3.27819e+08 w: 1.29632e+18] | |
GPR[15] = 0xef5307ad2f60a58b FPR[15] = 1.36105e+19 (0x43e79c4688db3352) VPR[15] = 0xdeb31ab2ceca82b24e34a8f55e70ffb0 [x: -6.45291e+18 y: -1.69878e+09 z: 7.57743e+08 w: 4.34145e+18] | |
GPR[16] = 0xfb7f1de42eb76701 FPR[16] = 1.76011e+18 (0x43b86d294b59dd39) VPR[16] = 0xdf3efecace2754574e81d5545f3e8c68 [x: -1.37627e+19 y: -7.01831e+08 z: 1.08912e+09 w: 1.37305e+19] | |
GPR[17] = 0x2e3e87966a8b0ea7 FPR[17] = 1.2393e+19 (0x43e57f9aadcb2ffb) VPR[17] = 0xdeaaed03ce482d164d1e5c005e1f6171 [x: -6.15825e+18 y: -8.39599e+08 z: 1.66052e+08 w: 2.87115e+18] | |
GPR[18] = 0x3dfd7224bda3cf46 FPR[18] = 8.20386e+18 (0x43dc767d053cc570) VPR[18] = 0xdf3b9608cea13e5b4e08f9ff5d12734c [x: -1.3517e+19 y: -1.35261e+09 z: 5.74521e+08 w: 6.59554e+17] | |
GPR[19] = 0x211e21e9071596e3 FPR[19] = 1.81255e+19 (0x43ef71533a653450) VPR[19] = 0xde29e982cdaa12164e9927625f593712 [x: -3.06086e+18 y: -3.56664e+08 z: 1.28475e+09 w: 1.5652e+19] | |
GPR[20] = 0x59a38b2980ffc4db FPR[20] = 1.30308e+19 (0x43e69ad66a04f9cb) VPR[20] = 0xdf585087ce0a14894e6741eb5f4c78ba [x: -1.55871e+19 y: -5.7915e+08 z: 9.69964e+08 w: 1.47337e+19] | |
GPR[21] = 0x50d01a760b246ef1 FPR[21] = 1.34683e+19 (0x43e75d1fb1331cb9) VPR[21] = 0xde5fd7e9ce06af224ed88eb95f64f97f [x: -4.0324e+18 y: -5.64906e+08 z: 1.81662e+09 w: 1.64994e+19] | |
GPR[22] = 0xd8a46bd8449f5c53 FPR[22] = 3.69445e+18 (0x43c9a2a7dd0143f3) VPR[22] = 0xdd037946cee919cd4ed832135f1fa23c [x: -5.92105e+17 y: -1.95539e+09 z: 1.81358e+09 w: 1.15028e+19] | |
GPR[23] = 0x2df9c667cf4efeb6 FPR[23] = 9.26264e+17 (0x43a9b580d40dbc6e) VPR[23] = 0xdf3bc11ace1db16e4e25d36e5f1e6dd6 [x: -1.35291e+19 y: -6.61413e+08 z: 6.95524e+08 w: 1.1416e+19] | |
GPR[24] = 0x050c0a59caa8315d FPR[24] = 7.37063e+18 (0x43d9926f99cb7078) VPR[24] = 0xdf3e4360ceccf5084e9d3ea65f71aa52 [x: -1.37099e+19 y: -1.71931e+09 z: 1.31906e+09 w: 1.74138e+19] | |
GPR[25] = 0x5335a22d223e198d FPR[25] = 4.04369e+18 (0x43cc0f07f9f3094b) VPR[25] = 0xdf092310ce9b02bc4e8210565ea7335c [x: -9.88176e+18 y: -1.30032e+09 z: 1.09105e+09 w: 6.02404e+18] | |
GPR[26] = 0x881e9f51d45644e8 FPR[26] = 4.85367e+17 (0x439af179dadc722f) VPR[26] = 0xde3a2b6fcde78ea34ee12bcd5f291e58 [x: -3.35373e+18 y: -4.85611e+08 z: 1.88887e+09 w: 1.21863e+19] | |
GPR[27] = 0x044a61a129913f06 FPR[27] = 2.56409e+18 (0x43c1cabd39341a74) VPR[27] = 0xdf1c5a42ce1640324ea46ec75e02cc3c [x: -1.12664e+19 y: -6.30197e+08 z: 1.37936e+09 w: 2.35624e+18] | |
GPR[28] = 0x7cf72bc1b128e023 FPR[28] = 1.65638e+18 (0x43b6fca4f96c4a74) VPR[28] = 0xdc81a5d6cef92dc94ee00f165f517a18 [x: -2.91941e+17 y: -2.09026e+09 z: 1.87954e+09 w: 1.50944e+19] | |
GPR[29] = 0xa498da4978661c90 FPR[29] = 1.75167e+19 (0x43ee62f6f67f1fd0) VPR[29] = 0xdf507425cea9d7394e1ac3ab5f04d1bc [x: -1.50207e+19 y: -1.42473e+09 z: 6.49129e+08 w: 9.57064e+18] | |
GPR[30] = 0x89dcb44787c8aec5 FPR[30] = 1.12932e+19 (0x43e3972f01389596) VPR[30] = 0xde4cafcdce99fd264ed55fc45ee691d9 [x: -3.68731e+18 y: -1.29175e+09 z: 1.78991e+09 w: 8.30715e+18] | |
GPR[31] = 0x0e7910fda7fe7c2c FPR[31] = 9.53541e+18 (0x43e08a9261af823e) VPR[31] = 0xdf290e78ce0202b54e58f7d05f5b8031 [x: -1.21818e+19 y: -5.45304e+08 z: 9.1003e+08 w: 1.58167e+19] | |
SPRG[0] = 0xf490884754c54453 | |
SPRG[1] = 0x8b114775caca0b37 | |
SPRG[2] = 0xce8e95b0bcbf8cfe | |
SPRG[3] = 0xcd7347415722271f | |
SPRG[4] = 0xff06edf90b8faf23 | |
SPRG[5] = 0x5327eefce0e81239 | |
SPRG[6] = 0xbd6751d0828ef1c7 | |
SPRG[7] = 0x777d5f32d2ef4c64 | |
CR = 0xccc28910 LR = 0xa0f21f47cbb1bfa2 CTR = 0x24a868f69f547851 TB=0xa6e9a627e80ecf61 | |
XER = 0x00000000c0000000 [CA=0 | OV=1 | SO=1] | |
mem_block[0] = 0xf6f3d4ae66ab5ae6 mem_block[1] = 0x0da5ded21a895ec4 | |
mem_block[2] = 0xb2eeae72d172e454 mem_block[3] = 0x461af8fa438b7873 | |
mem_block[4] = 0x97031385d0905438 mem_block[5] = 0x29ad9516fbf8a53a | |
mem_block[6] = 0xf68002e7d8e6c387 mem_block[7] = 0x4c7c78e9225462ea | |
mem_block[8] = 0xd6985bf971ea6fd6 mem_block[9] = 0xf110804545360da8 | |
mem_block[10] = 0x1db99a22124a784e mem_block[11] = 0x70806969d13e999d | |
mem_block[12] = 0xcd3fe51333d3713d mem_block[13] = 0x9a7a11a4dad95b2e | |
mem_block[14] = 0xc31ef01631b5d18b mem_block[15] = 0x9ca77c7306478776 | |
mem_block[16] = 0x2a91bfb3060f2217 mem_block[17] = 0x9d0d5086598b9bfb | |
mem_block[18] = 0x2557bab19292c250 mem_block[19] = 0xecbac13dbf446d33 | |
mem_block[20] = 0xeab6c749982d9fd9 mem_block[21] = 0x079c13ff7b789ed1 | |
mem_block[22] = 0x8eb84e43abdc0fa8 mem_block[23] = 0xc95f9f0c638e25ed | |
mem_block[24] = 0x75f3f36acf3cbed3 mem_block[25] = 0xa0c4ec20e028ad8d | |
mem_block[26] = 0xd99ee62f89d0eb69 mem_block[27] = 0xa970598f7060fc16 | |
mem_block[28] = 0xc893c4dc4ebeb132 mem_block[29] = 0x19b24464b4e64cc7 | |
mem_block[30] = 0xa06860b26898e368 mem_block[31] = 0x71d3f3cd1ec11c98 | |
mem_block[32] = 0x25914308a1a7dbee mem_block[33] = 0x69de3d7fd7ed5ff6 | |
mem_block[34] = 0xfe5193187c4fb76c mem_block[35] = 0x8511fb17dbf0c6ea | |
mem_block[36] = 0x924dba6058d035d0 mem_block[37] = 0x79c7ba85266704c9 | |
mem_block[38] = 0x76ddccf4feb24f34 mem_block[39] = 0x7b59b33a2ee9b29d | |
mem_block[40] = 0xf3047bf4767e2501 mem_block[41] = 0xfa860b15a8491eaf | |
mem_block[42] = 0xc0147c9ca28c9d00 mem_block[43] = 0x3d57ef475d9f85ea | |
mem_block[44] = 0xc2666b2204c6926b mem_block[45] = 0x1ef5a5c9449987f8 | |
mem_block[46] = 0xbd385488073751ba mem_block[47] = 0x3cb993bdd797240c | |
mem_block[48] = 0x5af8791ee10436f7 mem_block[49] = 0x61b5bdd15c9e2d19 | |
mem_block[50] = 0x6c58b976a2b30f24 mem_block[51] = 0x1f2db1db1854887b | |
mem_block[52] = 0x3c1d79c03582e1c3 mem_block[53] = 0x714b48c74cc4fb98 | |
mem_block[54] = 0x92891f4ab50ec4b6 mem_block[55] = 0xbe19439df6cf3601 | |
mem_block[56] = 0xef43e65732855d68 mem_block[57] = 0xc70ccb96c264b26d | |
mem_block[58] = 0xefe34d3171a76e28 mem_block[59] = 0xa1c54975298d7b00 | |
mem_block[60] = 0xd03f1859f1543da5 mem_block[61] = 0xc7e19cf167875f6c | |
mem_block[62] = 0xdccf1e64d9927762 mem_block[63] = 0xdbc0681b17fd23ac | |
State diff: | |
recomp: CR = 0x33022ed2 | |
interp: CR = 0xccc22910 | |
Running test MTOCRF.5 | |
LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.5(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 776 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 267448320 | |
%7 = and i32 %2, -267448321 | |
%8 = or i32 %6, %7 | |
%9 = getelementptr i8* %ppu_state, i32 1540 | |
%10 = bitcast i8* %9 to i32* | |
store i32 %8, i32* %10, align 4 | |
ret i32 0 | |
} | |
Optimized LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.5(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 776 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 267448320 | |
%7 = and i32 %2, -267448321 | |
%8 = or i32 %6, %7 | |
store i32 %8, i32* %4, align 4 | |
ret i32 0 | |
} | |
Test MTOCRF.5 failed | |
Input state: | |
GPR[00] = 0x58d6d8f992bf5de3 FPR[00] = 1.70552e+19 (0x43ed960b375f04cd) VPR[00] = 0xddc1787ccee7a3174ec852495f00eafe [x: -1.74263e+18 y: -1.94311e+09 z: 1.68042e+09 w: 9.28952e+18] | |
GPR[01] = 0x612c91e193504af9 FPR[01] = 1.03932e+19 (0x43e207812a8ac46e) VPR[01] = 0xdea5d61fce16d3df4d861c5d5ed3585c [x: -5.97489e+18 y: -6.32617e+08 z: 2.81251e+08 w: 7.61451e+18] | |
GPR[02] = 0xfc8091fdaf6ef319 FPR[02] = 5.83133e+18 (0x43d43b41e8515a84) VPR[02] = 0xdeff3f32ce84d4774ec6a1675e9ebc7a [x: -9.19624e+18 y: -1.11426e+09 z: 1.66623e+09 w: 5.71908e+18] | |
GPR[03] = 0x83a141bd2a3d4176 FPR[03] = 1.72638e+19 (0x43edf2b046cdee24) VPR[03] = 0xdedb701fcea7d44f4eb2a26d5e8d05d8 [x: -7.90609e+18 y: -1.40785e+09 z: 1.49849e+09 w: 5.08088e+18] | |
GPR[04] = 0xd9c6bbf6d908e5e6 FPR[04] = 4.99564e+17 (0x439bbb3a72397ef7) VPR[04] = 0xdf2c4bd6ce8844134e8570905efd55c1 [x: -1.24153e+19 y: -1.14308e+09 z: 1.11937e+09 w: 9.12735e+18] | |
GPR[05] = 0x08f652db8825d451 FPR[05] = 3.20526e+18 (0x43c63dafa0e84465) VPR[05] = 0xdf2f04c6ce4601a54e99b1e25e320a56 [x: -1.26114e+19 y: -8.30499e+08 z: 1.28929e+09 w: 3.20729e+18] | |
GPR[06] = 0x0d995ccb846651c6 FPR[06] = 7.32943e+18 (0x43d96dd827fe01ba) VPR[06] = 0xdeab55efcebc50ec4c6ff54b5f50b5ea [x: -6.17302e+18 y: -1.57971e+09 z: 6.29036e+07 w: 1.50392e+19] | |
GPR[07] = 0xcd8cad3ef050be85 FPR[07] = 1.58979e+19 (0x43eb941a2f7c4c8f) VPR[07] = 0xdd850792ce83d69f4d50c1bb5f31b436 [x: -1.19822e+18 y: -1.10594e+09 z: 2.18897e+08 w: 1.28049e+19] | |
GPR[08] = 0x2f9a98fc5523e36a FPR[08] = 2.99889e+18 (0x43c4cf183883dbda) VPR[08] = 0xddc44d90ce0861164d9887c45e3ff977 [x: -1.76814e+18 y: -5.72016e+08 z: 3.19879e+08 w: 3.4583e+18] | |
GPR[09] = 0x9a7ec8bac82dc7c0 FPR[09] = 5.38411e+18 (0x43d2ae0cbe918e40) VPR[09] = 0xdeb3b299cef0483e4d103f5c5efd8e0c [x: -6.47429e+18 y: -2.01563e+09 z: 1.51254e+08 w: 9.13528e+18] | |
GPR[10] = 0x5751b65331b72b1f FPR[10] = 4.52146e+18 (0x43cf5fba4472aed2) VPR[10] = 0xde7e58d5ce8cdda54ed993b55efa0c79 [x: -4.58191e+18 y: -1.18167e+09 z: 1.82517e+09 w: 9.00895e+18] | |
GPR[11] = 0xef3d4b10cf56e278 FPR[11] = 1.44734e+19 (0x43e91b7f7201d3e0) VPR[11] = 0xdeb2334ece2ee6674ee23dac5f1054de [x: -6.42035e+18 y: -7.33584e+08 z: 1.89785e+09 w: 1.04002e+19] | |
GPR[12] = 0x47f4bac0b196f7ef FPR[12] = 4.48506e+18 (0x43cf1f0f66ebbbc7) VPR[12] = 0xdf4f42c3ce76bb2a4e22af3c5ed87b13 [x: -1.49347e+19 y: -1.03487e+09 z: 6.82348e+08 w: 7.79954e+18] | |
GPR[13] = 0xfa2cf1ffdb4b2693 FPR[13] = 6.45844e+18 (0x43d6683f7daee19c) VPR[13] = 0xdf5fd339cebf31f14ee781d35f7edc70 [x: -1.61283e+19 y: -1.60386e+09 z: 1.94202e+09 w: 1.83647e+19] | |
GPR[14] = 0x35d8c4cffbb07de8 FPR[14] = 6.52384e+18 (0x43d6a2557db03009) VPR[14] = 0xdf42efc3cec7050d4def62775f376814 [x: -1.40467e+19 y: -1.6695e+09 z: 5.02026e+08 w: 1.32158e+19] | |
GPR[15] = 0xfe7d54c3a34dc809 FPR[15] = 1.64987e+19 (0x43ec9eea4e485757) VPR[15] = 0xdeacd5a5ccb255d04e687f605eff731d [x: -6.22702e+18 y: -9.3499e+07 z: 9.75165e+08 w: 9.20354e+18] | |
GPR[16] = 0x31eeb5ac313b93d9 FPR[16] = 1.53634e+19 (0x43eaa6b6b464afea) VPR[16] = 0xdecf35b7ce900c0a4d49bb985ce2b139 [x: -7.46552e+18 y: -1.20835e+09 z: 2.11532e+08 w: 5.10466e+17] | |
GPR[17] = 0xff7996bdbf79acc1 FPR[17] = 7.96573e+18 (0x43dba2fe112ba92c) VPR[17] = 0xdf1863e2ce33023a4e47da955f74f733 [x: -1.09809e+19 y: -7.50817e+08 z: 8.38248e+08 w: 1.76516e+19] | |
GPR[18] = 0xdf6330484d053365 FPR[18] = 1.65368e+19 (0x43ecafd1e0f0b2c2) VPR[18] = 0xdf084b48cdbd6e2b4cef97e05e9d3476 [x: -9.82102e+18 y: -3.97264e+08 z: 1.25616e+08 w: 5.6639e+18] | |
GPR[19] = 0x05e92037a8fd3fa2 FPR[19] = 7.06564e+18 (0x43d8838d12f70384) VPR[19] = 0xdf6dff00cd87c069492134205e08aa08 [x: -1.71494e+19 y: -2.84692e+08 z: 660290 w: 2.46192e+18] | |
GPR[20] = 0x2997b81755abad5d FPR[20] = 7.60975e+18 (0x43da66d0cdc910a6) VPR[20] = 0xdf7c24afce95bc1f4e823e4c5dd1d80d [x: -1.81688e+19 y: -1.25607e+09 z: 1.09256e+09 w: 1.89011e+18] | |
GPR[21] = 0x8903154ee8f29eed FPR[21] = 2.5999e+18 (0x43c20a58cf4304fe) VPR[21] = 0xdf4893becb13d1d44eb557ff5f4df062 [x: -1.44531e+19 y: -9.68751e+06 z: 1.52122e+09 w: 1.48395e+19] | |
GPR[22] = 0xa68a23c11848e43a FPR[22] = 1.02969e+19 (0x43e1dcbc5279b661) VPR[22] = 0xdc4033fece4ab7904eda34b35f3fc664 [x: -2.16401e+17 y: -8.50257e+08 z: 1.83044e+09 w: 1.38188e+19] | |
GPR[23] = 0xa6538aac22b0e84b FPR[23] = 1.71617e+19 (0x43edc551f803c624) VPR[23] = 0xdef210e9cc5591ff4ec86ff15f1920e3 [x: -8.72135e+18 y: -5.59862e+07 z: 1.68139e+09 w: 1.10341e+19] | |
GPR[24] = 0xf68c92969d02269a FPR[24] = 1.6843e+18 (0x43b75fd633495c67) VPR[24] = 0xde66654ece0d2f804ee4f2da5f34cc9a [x: -4.15044e+18 y: -5.92175e+08 z: 1.92056e+09 w: 1.3028e+19] | |
GPR[25] = 0xd91d5c9f4f7b8152 FPR[25] = 4.31181e+18 (0x43cdeb51c9030a5b) VPR[25] = 0xdf750018cec617174e96c65a5c58b98d [x: -1.76541e+19 y: -1.6617e+09 z: 1.26479e+09 w: 2.4401e+17] | |
GPR[26] = 0x38f40a6708a3b1a9 FPR[26] = 1.09976e+19 (0x43e313ed6d8e7a85) VPR[26] = 0xdf2f6954cd299d1c4ea7a8605eee9718 [x: -1.26397e+19 y: -1.77853e+08 z: 1.40641e+09 w: 8.59612e+18] | |
GPR[27] = 0x1c8d5097425786c0 FPR[27] = 1.34481e+19 (0x43e7542a9c8f4be4) VPR[27] = 0xdf5838f9ce9b5a034ddef1565f5ecd06 [x: -1.55805e+19 y: -1.30318e+09 z: 4.67545e+08 w: 1.60545e+19] | |
GPR[28] = 0x6c15bdc242472bce FPR[28] = 1.64842e+19 (0x43ec9874a746c6bf) VPR[28] = 0xdd0497aacea0d93a4dea080c5f696234 [x: -5.97143e+17 y: -1.3493e+09 z: 4.90799e+08 w: 1.68171e+19] | |
GPR[29] = 0xb6484965986f4d19 FPR[29] = 9.63043e+18 (0x43e0b4c49ae5266e) VPR[29] = 0xdd6a34d5ced353024ea0e3fa5e59e670 [x: -1.05477e+18 y: -1.77272e+09 z: 1.34965e+09 w: 3.92534e+18] | |
GPR[30] = 0xe0053a466104e7c8 FPR[30] = 7.5568e+17 (0x43a4f96e280411f8) VPR[30] = 0xdc8a50c2ce3ddcb04eae44b75e042141 [x: -3.11459e+17 y: -7.96339e+08 z: 1.46187e+09 w: 2.38024e+18] | |
GPR[31] = 0xbeadf5d055ba8e97 FPR[31] = 1.31974e+19 (0x43e6e4d7f2396b94) VPR[31] = 0xde1cbf78cec06c524e8691775f4f31b3 [x: -2.82372e+18 y: -1.61416e+09 z: 1.12884e+09 w: 1.49299e+19] | |
SPRG[0] = 0x6b2c19e456a0bb84 | |
SPRG[1] = 0x1328923b7439ea74 | |
SPRG[2] = 0x6f15e092361fa658 | |
SPRG[3] = 0xe139fa7aaca94e70 | |
SPRG[4] = 0xe44debf7f9cd5170 | |
SPRG[5] = 0xf06ca8883b760444 | |
SPRG[6] = 0x2395e0c4fd8e4dcd | |
SPRG[7] = 0x6703e1c07b923ab1 | |
CR = 0x075113f2 LR = 0x74ae0f957ca9e075 CTR = 0xfa091efa90340c66 TB=0x33c838eb83c0b293 | |
XER = 0x00000000c0000000 [CA=0 | OV=1 | SO=1] | |
mem_block[0] = 0x117914e2b937b2d5 mem_block[1] = 0xc47a18432e11fd50 | |
mem_block[2] = 0x01c38cfc2fa5e79e mem_block[3] = 0x7e5cdf315a14b03a | |
mem_block[4] = 0xd1620a7404c7ce72 mem_block[5] = 0x0052b64d7b65ae91 | |
mem_block[6] = 0x74e0099a71351f3c mem_block[7] = 0xe4c6119f57fa6c35 | |
mem_block[8] = 0x7f1d76d663aadd03 mem_block[9] = 0xb71f8704de5f3ee6 | |
mem_block[10] = 0x9c91405bb29af0cc mem_block[11] = 0x8d3e32e473c5e99b | |
mem_block[12] = 0xfbe922bf597335db mem_block[13] = 0xe59c655df18e912e | |
mem_block[14] = 0xee6648fa676de672 mem_block[15] = 0xb8ec4faad338e609 | |
mem_block[16] = 0x2d67db405464a5d0 mem_block[17] = 0x28e9c1255ccee832 | |
mem_block[18] = 0xc6dc7346848b2489 mem_block[19] = 0x762fb3bc9b0993fe | |
mem_block[20] = 0xe962270d82b19820 mem_block[21] = 0x5c489c8fe8f5b17d | |
mem_block[22] = 0xedfce935212aded2 mem_block[23] = 0x47be2a5832b94ef8 | |
mem_block[24] = 0x64e59ca1f8edd750 mem_block[25] = 0xdabaf3180ec78e41 | |
mem_block[26] = 0xef64747ce3b54f72 mem_block[27] = 0x0aa872ac8d1dd11b | |
mem_block[28] = 0xc5616a110f5eac48 mem_block[29] = 0x6cbabac79afed7dd | |
mem_block[30] = 0xe779a782fecb9c7d mem_block[31] = 0x90bbea13a72f4164 | |
mem_block[32] = 0xc1c883bbdba8cca4 mem_block[33] = 0xf2ebccf882617394 | |
mem_block[34] = 0x98f5778dd6c1aeed mem_block[35] = 0x8269a4e13f935dd9 | |
mem_block[36] = 0xb6447b0034fcab6b mem_block[37] = 0x10a6784a6cdda802 | |
mem_block[38] = 0x524a90a11dd99f69 mem_block[39] = 0x57cf514c5fcffe21 | |
mem_block[40] = 0x29754a5b805a5cb1 mem_block[41] = 0xe281e6821b993148 | |
mem_block[42] = 0x49998de9167b58f0 mem_block[43] = 0xf5c4f49eab805326 | |
mem_block[44] = 0x40b67ac9caa05e17 mem_block[45] = 0x082c9193a59d8f30 | |
mem_block[46] = 0x89b9d85e457adf01 mem_block[47] = 0x471fb5bd8380681e | |
mem_block[48] = 0x835bd8772dd9469b mem_block[49] = 0xc06603fa76d5802b | |
mem_block[50] = 0x865d831e23ccb686 mem_block[51] = 0x9236f69c51aa6183 | |
mem_block[52] = 0x1e0a12a369685ad2 mem_block[53] = 0x4a65d43561926266 | |
mem_block[54] = 0x91b63a8e653db482 mem_block[55] = 0x72bedc03c3f0321e | |
mem_block[56] = 0x3d47e078c2fb39f6 mem_block[57] = 0x65515240a4666bc0 | |
mem_block[58] = 0x1a3567c6f92c078a mem_block[59] = 0x9e8f01a49ff97297 | |
mem_block[60] = 0xd60b5ada7dff970e mem_block[61] = 0xfc78244a9a6618f0 | |
mem_block[62] = 0x1121ca14ac421642 mem_block[63] = 0xf72db567d004c304 | |
State diff: | |
recomp: CR = 0x97501af9 | |
interp: CR = 0x07501af2 | |
Running test MTOCRF.6 | |
LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.6(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 776 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 267448320 | |
%7 = and i32 %2, -267448321 | |
%8 = or i32 %6, %7 | |
%9 = getelementptr i8* %ppu_state, i32 1540 | |
%10 = bitcast i8* %9 to i32* | |
store i32 %8, i32* %10, align 4 | |
ret i32 0 | |
} | |
Optimized LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.6(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 776 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 267448320 | |
%7 = and i32 %2, -267448321 | |
%8 = or i32 %6, %7 | |
store i32 %8, i32* %4, align 4 | |
ret i32 0 | |
} | |
Test MTOCRF.6 failed | |
Input state: | |
GPR[00] = 0x6e1d3d168b4626ff FPR[00] = 5.86929e+18 (0x43d45cf8f20c9666) VPR[00] = 0xdf33fe4ccefc53454c4708dc5e83cbcd [x: -1.29699e+19 y: -2.11666e+09 z: 5.21757e+07 w: 4.74845e+18] | |
GPR[01] = 0x47fef9544adae204 FPR[01] = 1.83395e+19 (0x43efd05b3cb005c4) VPR[01] = 0xdf6e8e7cce8a276c4edb58b45f028b5a [x: -1.71898e+19 y: -1.15892e+09 z: 1.84001e+09 w: 9.40671e+18] | |
GPR[02] = 0x11b324f5f0c9e1d1 FPR[02] = 1.54302e+18 (0x43b569ec88a44877) VPR[02] = 0xdf67c144cec165a34ec641135ea1f3ac [x: -1.66997e+19 y: -1.62233e+09 z: 1.66308e+09 w: 5.83493e+18] | |
GPR[03] = 0x42e2894f7205b352 FPR[03] = 3.37084e+18 (0x43c763d02252b220) VPR[03] = 0xde8ce0bace98d3ec4e8113df5ea6e24c [x: -5.07566e+18 y: -1.28201e+09 z: 1.08278e+09 w: 6.01263e+18] | |
GPR[04] = 0x49f7c1aa0cff4b09 FPR[04] = 1.09379e+19 (0x43e2f968e58212d2) VPR[04] = 0xddcbd4f3ce92b0dd4ecc998e5de0011f [x: -1.83595e+18 y: -1.23053e+09 z: 1.71631e+09 w: 2.01765e+18] | |
GPR[05] = 0xa0af2b6b0729b1d9 FPR[05] = 1.72526e+18 (0x43b7f15e4ddecd2e) VPR[05] = 0xde783c2fce53d59a4e3c835d5f1df35a [x: -4.47181e+18 y: -8.88498e+08 z: 7.90681e+08 w: 1.13815e+19] | |
GPR[06] = 0x240c2cfce1d9daa0 FPR[06] = 9.51237e+17 (0x43aa66f178fabd9c) VPR[06] = 0xdf09d640cea204974ee6b4785f0dba9a [x: -9.9322e+18 y: -1.3591e+09 z: 1.93529e+09 w: 1.02126e+19] | |
GPR[07] = 0x1242ede313b71831 FPR[07] = 1.2016e+18 (0x43b0acf4867184c3) VPR[07] = 0xdd469408ce6bd8754efe5f215f357ff3 [x: -8.94317e+17 y: -9.89208e+08 z: 2.13382e+09 w: 1.30784e+19] | |
GPR[08] = 0x1ab0d6ebd23983c7 FPR[08] = 8.79221e+18 (0x43de810dc7024a72) VPR[08] = 0xdf603541cee736864ef208c55e097782 [x: -1.61559e+19 y: -1.93956e+09 z: 2.03033e+09 w: 2.47638e+18] | |
GPR[09] = 0x6243b448ae6406ab FPR[09] = 5.77968e+18 (0x43d40d624c510f99) VPR[09] = 0xdf356ea4cd246cd74e8fada95f5b083f [x: -1.30736e+19 y: -1.72412e+08 z: 1.20526e+09 w: 1.57829e+19] | |
GPR[10] = 0x2573c450c0d9a23b FPR[10] = 6.58458e+18 (0x43d6d847a24f0f02) VPR[10] = 0xdf095fccceb731b84e8316535f4f96cd [x: -9.89885e+18 y: -1.53674e+09 z: 1.09964e+09 w: 1.49584e+19] | |
GPR[11] = 0x81e1dc5852a88e32 FPR[11] = 1.62281e+19 (0x43ec26ba2cc71250) VPR[11] = 0xdefadad4cee133114dd6e5a45ec925f8 [x: -9.038e+18 y: -1.88911e+09 z: 4.50672e+08 w: 7.24713e+18] | |
GPR[12] = 0x0d8fb3eae7acea78 FPR[12] = 4.42525e+18 (0x43ceb4d328b4bf3c) VPR[12] = 0xdf60fc46ced536064ec567d45f475487 [x: -1.62119e+19 y: -1.78854e+09 z: 1.65596e+09 w: 1.43633e+19] | |
GPR[13] = 0xa69ddc88a8058ee0 FPR[13] = 9.14306e+18 (0x43dfb8abe4f7e189) VPR[13] = 0xdf4adc9ecde142624d389fc95edc534b [x: -1.46177e+19 y: -4.72403e+08 z: 1.93592e+08 w: 7.93806e+18] | |
GPR[14] = 0x4d93282235afdb1a FPR[14] = 4.90056e+18 (0x43d10091b53e9228) VPR[14] = 0xdf1974b7cdb3ab5d4e0691ce5f6ccc2f [x: -1.10577e+19 y: -3.76794e+08 z: 5.64426e+08 w: 1.70631e+19] | |
GPR[15] = 0xb8c68a067c38f4fb FPR[15] = 6.35074e+18 (0x43d60897be2d77b6) VPR[15] = 0xdf33bc6bcee165844ec930c15f58380f [x: -1.29513e+19 y: -1.89076e+09 z: 1.68771e+09 w: 1.55802e+19] | |
GPR[16] = 0xe22e68359145da4c FPR[16] = 5.70044e+18 (0x43d3c701e7e2dd1a) VPR[16] = 0xdf3bd3f6ce0c0af44eff56e05eefc972 [x: -1.35344e+19 y: -5.87382e+08 z: 2.14194e+09 w: 8.63923e+18] | |
GPR[17] = 0xefce4ee0a5cb175b FPR[17] = 1.79012e+19 (0x43ef0dbe14f6e13d) VPR[17] = 0xde45bc0cce6b3bbe4ef856025e866914 [x: -3.56207e+18 y: -9.8664e+08 z: 2.08319e+09 w: 4.84265e+18] | |
GPR[18] = 0x056f1c3fbbacd022 FPR[18] = 9.43753e+17 (0x43aa31c48e3d3238) VPR[18] = 0xdf5f2905cea8169a4dff0f155f62557f [x: -1.60804e+19 y: -1.41003e+09 z: 5.34897e+08 w: 1.63091e+19] | |
GPR[19] = 0x5d2fbebd3cdc0fb2 FPR[19] = 1.16249e+19 (0x43e42a829f1ace57) VPR[19] = 0xdf190b05ceb78b3b4efa41525f1d869c [x: -1.10279e+19 y: -1.53968e+09 z: 2.09929e+09 w: 1.13509e+19] | |
GPR[20] = 0x87319de39a34fb67 FPR[20] = 1.13069e+19 (0x43e39d45a00ec4ef) VPR[20] = 0xdeb10a81cea594284e9bb2815ca4b15f [x: -6.37858e+18 y: -1.38898e+09 z: 1.30608e+09 w: 3.70855e+17] | |
GPR[21] = 0x46628f1c3d2a77d5 FPR[21] = 1.5995e+19 (0x43ebbf3577c17468) VPR[21] = 0xdf7e51c0cea1c99c4ca408055e98f246 [x: -1.83256e+19 y: -1.35717e+09 z: 8.59997e+07 w: 5.51047e+18] | |
GPR[22] = 0xa31711ea5074870e FPR[22] = 1.16482e+19 (0x43e434d8c7677262) VPR[22] = 0xde055288ce6f30194e9eb60f5f7001fd [x: -2.40172e+18 y: -1.00323e+09 z: 1.33137e+09 w: 1.72944e+19] | |
GPR[23] = 0x0687eb61751c030d FPR[23] = 4.93917e+18 (0x43d122dcdb9a58dd) VPR[23] = 0xdeaf09dfceea38ef4ea2df1c5ed8dcef [x: -6.30643e+18 y: -1.9648e+09 z: 1.36627e+09 w: 7.81331e+18] | |
GPR[24] = 0xbeff79268d0f66bd FPR[24] = 9.18354e+18 (0x43dfdc9f2fc5bedf) VPR[24] = 0xdf589715ce5e4bcc4e8335be5e2f1e60 [x: -1.5607e+19 y: -9.32377e+08 z: 1.10067e+09 w: 3.15466e+18] | |
GPR[25] = 0xb9a91fdc3e0c7772 FPR[25] = 1.53832e+19 (0x43eaaf8718ae1c6f) VPR[25] = 0xdf21fde6ce0211a74e3544fc5f737dd2 [x: -1.16727e+19 y: -5.45549e+08 z: 7.60299e+08 w: 1.75454e+19] | |
GPR[26] = 0x4f4e52deb5a3dab1 FPR[26] = 7.09711e+18 (0x43d89f80b0853cc0) VPR[26] = 0xdd75e2f8cebd733e4efdb49f5f00e9fe [x: -1.10737e+18 y: -1.58922e+09 z: 2.12824e+09 w: 9.28923e+18] | |
GPR[27] = 0x0ed632667a73742e FPR[27] = 1.529e+19 (0x43ea86256d9420ff) VPR[27] = 0xded87aa6ceea77a54d9266d05f3f8204 [x: -7.79948e+18 y: -1.96685e+09 z: 3.07026e+08 w: 1.37996e+19] | |
GPR[28] = 0xe83fc24d30cb7a39 FPR[28] = 7.50113e+18 (0x43da0656c583550a) VPR[28] = 0xde27bddcce8412a44d9d8ca05efb6414 [x: -3.02176e+18 y: -1.10791e+09 z: 3.30405e+08 w: 9.05731e+18] | |
GPR[29] = 0xd9514680e1737088 FPR[29] = 3.53817e+18 (0x43c88d0f5b3e5432) VPR[29] = 0xde7c9214ce843c954e8951845f0588c7 [x: -4.54991e+18 y: -1.10928e+09 z: 1.15191e+09 w: 9.62216e+18] | |
GPR[30] = 0x54c557383798b952 FPR[30] = 1.41651e+19 (0x43e8928f64afd3d4) VPR[30] = 0xdf2abac8cd89829e4df173025ef1699d [x: -1.23024e+19 y: -2.8838e+08 z: 5.06356e+08 w: 8.6978e+18] | |
GPR[31] = 0x7b9e0f98c713a543 FPR[31] = 1.39466e+19 (0x43e83184c7652814) VPR[31] = 0xdedd6fd8ceb1d6824e76630d5f6dc78b [x: -7.9781e+18 y: -1.49181e+09 z: 1.03342e+09 w: 1.71338e+19] | |
SPRG[0] = 0x190d8f9e0bebad15 | |
SPRG[1] = 0xead4ae03b669c3e4 | |
SPRG[2] = 0x1869469af34c1e25 | |
SPRG[3] = 0xa1c2e5dbc1016db6 | |
SPRG[4] = 0x4a053ac0f928cb4d | |
SPRG[5] = 0x29a7aa460cbb3f25 | |
SPRG[6] = 0x51e193ac773e76c1 | |
SPRG[7] = 0xaab9bf1e1e4c5574 | |
CR = 0xd23ff3ea LR = 0x9c425c700e4891bb CTR = 0x6b9f9c7a160a1fa0 TB=0xe29302e91ffadfd4 | |
XER = 0x00000000e0000000 [CA=1 | OV=1 | SO=1] | |
mem_block[0] = 0x6814222abff22b29 mem_block[1] = 0x18150d53d0b5131c | |
mem_block[2] = 0xef845519cca69a7e mem_block[3] = 0xfc01859c2da44504 | |
mem_block[4] = 0x228b75a7d03e6136 mem_block[5] = 0x1199edbc9dfb4fff | |
mem_block[6] = 0xa90bc5e978a66dfe mem_block[7] = 0x869facdb15263be1 | |
mem_block[8] = 0x35e68f7ff42c8144 mem_block[9] = 0x0f1f3d822a5a83c1 | |
mem_block[10] = 0x6ebfa720dc445927 mem_block[11] = 0x27d096fcbf84f26a | |
mem_block[12] = 0x8f7f156be470acde mem_block[13] = 0xaf7ca607982165ce | |
mem_block[14] = 0x4bbace91f5bb2df3 mem_block[15] = 0x797e59204c218d63 | |
mem_block[16] = 0x7db2c4dda4c26b7e mem_block[17] = 0x28c8caf73ff19490 | |
mem_block[18] = 0xc8c6c88fe6061716 mem_block[19] = 0x20c328718c9632f3 | |
mem_block[20] = 0xbcba257709f22c83 mem_block[21] = 0x1705ce449a2ab746 | |
mem_block[22] = 0xb68fa74ad261e707 mem_block[23] = 0xea706b8376082216 | |
mem_block[24] = 0x8ebd3fc830ec54c8 mem_block[25] = 0x76e214c7a05f16ed | |
mem_block[26] = 0x8ba68cba08f29750 mem_block[27] = 0xd1570b03c0f1d397 | |
mem_block[28] = 0x703c3a7d415e6686 mem_block[29] = 0x5092db83ca2d69a3 | |
mem_block[30] = 0x8e910c80efe8b902 mem_block[31] = 0xb089c2fb66a67fd9 | |
mem_block[32] = 0x8909e399b66140d9 mem_block[33] = 0x0b88fd1840598138 | |
mem_block[34] = 0xb17105e100d4967b mem_block[35] = 0x2ca5d615875e8545 | |
mem_block[36] = 0xcdfcd524fa075ada mem_block[37] = 0xeba70080cc86593d | |
mem_block[38] = 0xeef96474a2b43d04 mem_block[39] = 0xff3d425dbb5d5f0b | |
mem_block[40] = 0x1c38be4778180794 mem_block[41] = 0x4d5c805cb9c8c0da | |
mem_block[42] = 0x36b9b5be050c823e mem_block[43] = 0x526918cbf1dae455 | |
mem_block[44] = 0x82f82b3077651c26 mem_block[45] = 0xcd755d694d549f2c | |
mem_block[46] = 0x2ec4894605e4a82d mem_block[47] = 0xdad346f937310076 | |
mem_block[48] = 0x545fb80427902e5b mem_block[49] = 0x37371a83ee0e3494 | |
mem_block[50] = 0x7dcde3d8e81248fb mem_block[51] = 0x36c8629e60dc62ce | |
mem_block[52] = 0x0901ba3301ab45b1 mem_block[53] = 0x265a8817528598d7 | |
mem_block[54] = 0xcf4df17850753f12 mem_block[55] = 0x1d098f0f2c9bbc54 | |
mem_block[56] = 0x3a6d2c29af1a3053 mem_block[57] = 0x5b1a22de37049e9f | |
mem_block[58] = 0x3c69f24048576837 mem_block[59] = 0xcde71099a35fd538 | |
mem_block[60] = 0xf04f7048f8c2663c mem_block[61] = 0x06e68d6d27c1df97 | |
mem_block[62] = 0xda29fb226b90ffec mem_block[63] = 0x013fc8cada16978d | |
State diff: | |
recomp: CR = 0x423af204 | |
interp: CR = 0xd23af20a | |
Running test MTOCRF.7 | |
LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.7(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 776 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 267448320 | |
%7 = and i32 %2, -267448321 | |
%8 = or i32 %6, %7 | |
%9 = getelementptr i8* %ppu_state, i32 1540 | |
%10 = bitcast i8* %9 to i32* | |
store i32 %8, i32* %10, align 4 | |
ret i32 0 | |
} | |
Optimized LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.7(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 776 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 267448320 | |
%7 = and i32 %2, -267448321 | |
%8 = or i32 %6, %7 | |
store i32 %8, i32* %4, align 4 | |
ret i32 0 | |
} | |
Test MTOCRF.7 failed | |
Input state: | |
GPR[00] = 0xd26f12f1e8481356 FPR[00] = 7.30221e+18 (0x43d955aadb935c35) VPR[00] = 0xdf7b813fce98d1754ee5c0ac5d82bfcb [x: -1.81228e+19 y: -1.28193e+09 z: 1.9273e+09 w: 1.17768e+18] | |
GPR[01] = 0x8ab4b580cdd5945a FPR[01] = 5.11071e+18 (0x43d1bb3a03186fea) VPR[01] = 0xdf6fadd4ce64c0754e92714b5f109bbc [x: -1.72707e+19 y: -9.59455e+08 z: 1.22845e+09 w: 1.04201e+19] | |
GPR[02] = 0x8332f0f658d89d27 FPR[02] = 1.55357e+19 (0x43eaf339e820c682) VPR[02] = 0xdf276370cdfe10c24e3d2cfe5f1d5078 [x: -1.20616e+19 y: -5.32814e+08 z: 7.93461e+08 w: 1.13357e+19] | |
GPR[03] = 0x41b1d0dfb68b057c FPR[03] = 3.82521e+18 (0x43ca8af09abdfd60) VPR[03] = 0xdf1b8a28cea24e504ded94105ee1306d [x: -1.12078e+19 y: -1.36152e+09 z: 4.98238e+08 w: 8.11329e+18] | |
GPR[04] = 0xcc046a5a5eb6f13b FPR[04] = 4.13324e+18 (0x43ccae1c0f9acd0f) VPR[04] = 0xdd0fac63ce977fd14e95c7995f36db06 [x: -6.47047e+17 y: -1.27087e+09 z: 1.25644e+09 w: 1.31761e+19] | |
GPR[05] = 0x79fb596d64459f8e FPR[05] = 3.28996e+18 (0x43c6d425a80ce524) VPR[05] = 0xded75729ce3336bb4e5b4d425f20d7a8 [x: -7.75846e+18 y: -7.51677e+08 z: 9.19818e+08 w: 1.15899e+19] | |
GPR[06] = 0x8fbca4a94c72d306 FPR[06] = 8.67956e+17 (0x43a81732da79c262) VPR[06] = 0xdf4242c4ce78f9fb4e9ec4dd5e49099d [x: -1.3998e+19 y: -1.04428e+09 z: 1.33185e+09 w: 3.62157e+18] | |
GPR[07] = 0x1846cc0eea428394 FPR[07] = 1.51601e+19 (0x43ea4c6ee71d575c) VPR[07] = 0xde8586accc64dc994ef32e475e951c73 [x: -4.81078e+18 y: -5.99947e+07 z: 2.03995e+09 w: 5.37229e+18] | |
GPR[08] = 0xa495b619ae704760 FPR[08] = 1.4722e+19 (0x43e989dd56788f37) VPR[08] = 0xdf15215fcd2bd1724e8dd11b5dbe1bb6 [x: -1.0746e+19 y: -1.80164e+08 z: 1.18965e+09 w: 1.71234e+18] | |
GPR[09] = 0xcaf6cf6b3fdbf3fd FPR[09] = 1.7337e+19 (0x43ee1331e2db89fb) VPR[09] = 0xdf6909e3cedf595c4eae05325ee61497 [x: -1.67922e+19 y: -1.87359e+09 z: 1.45979e+09 w: 8.28952e+18] | |
GPR[10] = 0x6051cb6d1f6516c4 FPR[10] = 6.52676e+17 (0x43a21d8b4e750243) VPR[10] = 0xde25d7d6ceb0ef2a4eb067ec5e1f2edc [x: -2.98756e+18 y: -1.48423e+09 z: 1.4798e+09 w: 2.86759e+18] | |
GPR[11] = 0xc8d3a88e71d71b86 FPR[11] = 1.44272e+19 (0x43e906f4a77d4f74) VPR[11] = 0xdd8476a0cefb38504e2aa87c5e88a796 [x: -1.19312e+18 y: -2.10739e+09 z: 7.15792e+08 w: 4.9235e+18] | |
GPR[12] = 0x6a36bc6b9e57202a FPR[12] = 8.2932e+18 (0x43dcc5d81331ebcf) VPR[12] = 0xdd64cc72ce63a3c74eb7865c5ddbf116 [x: -1.03042e+18 y: -9.5479e+08 z: 1.53952e+09 w: 1.98106e+18] | |
GPR[13] = 0x3a4d67c60e2f5e01 FPR[13] = 6.66039e+18 (0x43d71b9df664a548) VPR[13] = 0xdd4b7ddacd64d2b44e9952235ef23ca2 [x: -9.16445e+17 y: -2.39938e+08 z: 1.28615e+09 w: 8.7275e+18] | |
GPR[14] = 0x92967b73b9afd379 FPR[14] = 8.05956e+18 (0x43dbf654da60672b) VPR[14] = 0xddb7d041ce6f12294ecd399f5e9ef3d1 [x: -1.65564e+18 y: -1.00274e+09 z: 1.72155e+09 w: 5.72686e+18] | |
GPR[15] = 0x1dcbe950941789f3 FPR[15] = 4.89101e+18 (0x43d0f8166efa42a3) VPR[15] = 0xdf404027cee19b6c4ecce6e35e9b3d25 [x: -1.38531e+19 y: -1.89253e+09 z: 1.71884e+09 w: 5.59307e+18] | |
GPR[16] = 0x04b3cb544a4b890f FPR[16] = 1.35543e+19 (0x43e783539b40118e) VPR[16] = 0xdf64e41ecdb2bce74e8456575ebc50e1 [x: -1.64933e+19 y: -3.74841e+08 z: 1.11013e+09 w: 6.7848e+18] | |
GPR[17] = 0x514bab96718954ca FPR[17] = 1.23394e+19 (0x43e567d0ac8b72a6) VPR[17] = 0xdea6459ccef6d4a44ea8d34a5d7416dc [x: -5.99058e+18 y: -2.07057e+09 z: 1.41621e+09 w: 1.09928e+18] | |
GPR[18] = 0xd02b361bbf022ad1 FPR[18] = 1.01351e+19 (0x43e194e0503bbe5a) VPR[18] = 0xdf75c5e9ce8042f54c90865b5f21e046 [x: -1.77098e+19 y: -1.07594e+09 z: 7.57726e+07 w: 1.16644e+19] | |
GPR[19] = 0x352c914ee46fc487 FPR[19] = 1.41451e+18 (0x43b3a158b5af88f6) VPR[19] = 0xdecd1699cea660044efcacc25f217ac0 [x: -7.38908e+18 y: -1.39566e+09 z: 2.11959e+09 w: 1.16358e+19] | |
GPR[20] = 0x851488f2be403956 FPR[20] = 1.03892e+19 (0x43e205bde2760946) VPR[20] = 0xdeaf9c76ce9b75294e9a09f95e58844e [x: -6.32706e+18 y: -1.30407e+09 z: 1.29217e+09 w: 3.90042e+18] | |
GPR[21] = 0xedc61c61b4c43108 FPR[21] = 1.34054e+19 (0x43e7412c7b7f8336) VPR[21] = 0xdf646f9ccdb842074ec69fe85f3e562b [x: -1.64605e+19 y: -3.86417e+08 z: 1.66618e+09 w: 1.37152e+19] | |
GPR[22] = 0xe45539893702f7f6 FPR[22] = 1.39509e+19 (0x43e8336f09fddd74) VPR[22] = 0xded342bece44e6254ee3d8995f34ca77 [x: -7.61147e+18 y: -8.25854e+08 z: 1.91131e+09 w: 1.30274e+19] | |
GPR[23] = 0xf9ff118472a3b24b FPR[23] = 1.3974e+19 (0x43e83db0881f2ff4) VPR[23] = 0xdf7c1625ce83e6a74e191a3a5f0ded16 [x: -1.81647e+19 y: -1.10647e+09 z: 6.42158e+08 w: 1.02269e+19] | |
GPR[24] = 0x9b5d18611ea8a8e3 FPR[24] = 7.5601e+18 (0x43da3ab74886256c) VPR[24] = 0xdef17fd2ccd41c7b4ecb46d05f5ece92 [x: -8.70093e+18 y: -1.11207e+08 z: 1.70521e+09 w: 1.60549e+19] | |
GPR[25] = 0xe7972f893699271e FPR[25] = 9.58735e+18 (0x43e0a1a32bfffd9e) VPR[25] = 0xdf3137a8ce9105944e151b6d5ee5f476 [x: -1.27699e+19 y: -1.21653e+09 z: 6.25401e+08 w: 8.285e+18] | |
GPR[26] = 0xf2f64a661ecca7b3 FPR[26] = 1.0499e+19 (0x43e2368187abe454) VPR[26] = 0xdf1ac27dcdb32a204ed4bc955e1f660b [x: -1.11516e+19 y: -3.75735e+08 z: 1.78456e+09 w: 2.87147e+18] | |
GPR[27] = 0x1d9086a367f502c8 FPR[27] = 1.52396e+19 (0x43ea6fc33c6d0394) VPR[27] = 0xdf51c138ce84bd964e1032a65d165032 [x: -1.51144e+19 y: -1.11351e+09 z: 6.0481e+08 w: 6.76951e+17] | |
GPR[28] = 0xfdff9eb5f28d4e93 FPR[28] = 1.73637e+19 (0x43ee1f08e4538a66) VPR[28] = 0xdf7a9d96ce6b7f954d975d525f0d84b9 [x: -1.80588e+19 y: -9.87752e+08 z: 3.17434e+08 w: 1.01975e+19] | |
GPR[29] = 0x7649bbe7cd9e86a0 FPR[29] = 4.03296e+18 (0x43cbfbfbbb28a50c) VPR[29] = 0xdda0f8e4cdf75fba4e4659a05f4c3f05 [x: -1.44991e+18 y: -5.18781e+08 z: 8.31941e+08 w: 1.47175e+19] | |
GPR[30] = 0x0ec9a4d5a259e037 FPR[30] = 1.75412e+19 (0x43ee6de0f521df2e) VPR[30] = 0xdf69898cce875be64ee040bb5de1a3d9 [x: -1.68281e+19 y: -1.13547e+09 z: 1.88117e+09 w: 2.03238e+18] | |
GPR[31] = 0x8bac138d4a2bb219 FPR[31] = 1.00483e+19 (0x43e16e592be480c0) VPR[31] = 0xded65323ce49effa4d1404e15e643c6e [x: -7.72186e+18 y: -8.46987e+08 z: 1.55209e+08 w: 4.11154e+18] | |
SPRG[0] = 0x4d48ba1b612bf698 | |
SPRG[1] = 0xf453ace05020c3d5 | |
SPRG[2] = 0xb5f7d8cf7d82cc82 | |
SPRG[3] = 0x56f0fcbef6407ab6 | |
SPRG[4] = 0x2167b91573fe1cc6 | |
SPRG[5] = 0x8e4b0109a525b699 | |
SPRG[6] = 0x5be8de0133117946 | |
SPRG[7] = 0x0ddf092c36d86f6c | |
CR = 0x655e65d2 LR = 0x830cc41251e32019 CTR = 0xad1215378749528f TB=0x402ea59dbec20604 | |
XER = 0x0000000020000000 [CA=1 | OV=0 | SO=0] | |
mem_block[0] = 0xe5f9d6303254428d mem_block[1] = 0xb4ed9af77094ec29 | |
mem_block[2] = 0x9677ad24b5293b75 mem_block[3] = 0x56e1a391342f4bb4 | |
mem_block[4] = 0x2865f815947a6aa0 mem_block[5] = 0xaa74c896981f6f1d | |
mem_block[6] = 0x5521921effed402b mem_block[7] = 0xb880fcc8c28724cd | |
mem_block[8] = 0x3a73c48683493fd8 mem_block[9] = 0x8793a243557e702f | |
mem_block[10] = 0xce39358e136e8b8a mem_block[11] = 0x1d847f87682bbf2c | |
mem_block[12] = 0x7a17568b2cd48a6b mem_block[13] = 0xd76bcfcee603c08e | |
mem_block[14] = 0xe84164e77c357b63 mem_block[15] = 0x754ec5b6512a946a | |
mem_block[16] = 0x8c486fd31d9798b7 mem_block[17] = 0x2fc2938bfb19ff93 | |
mem_block[18] = 0x45e43a3175c3d8ab mem_block[19] = 0x4420dc98bbd5a5a4 | |
mem_block[20] = 0x3135797f5e10946a mem_block[21] = 0x2dc1ce5c673fd0a6 | |
mem_block[22] = 0xbd24cf47ed4df437 mem_block[23] = 0x535481d5285e6f85 | |
mem_block[24] = 0x57e0278e2ade30aa mem_block[25] = 0x4e483d563204dcbe | |
mem_block[26] = 0x65e4e60d457e34e8 mem_block[27] = 0x2f139e4967c6f845 | |
mem_block[28] = 0x3ebedaab67adcb54 mem_block[29] = 0x1e73ecf4b1c8c1c6 | |
mem_block[30] = 0x64a8e3b1cf303d38 mem_block[31] = 0x34aadc5f098ba4a1 | |
mem_block[32] = 0xa5d49e89962c5a94 mem_block[33] = 0x26fffe7d386cfea2 | |
mem_block[34] = 0x08975e8cb1ebdee7 mem_block[35] = 0xc3aacef085c32707 | |
mem_block[36] = 0x10a5ddfb987d614f mem_block[37] = 0x9da3a8350b4a3974 | |
mem_block[38] = 0x099669f23229856b mem_block[39] = 0x8e2810bb86dc2030 | |
mem_block[40] = 0x0fe529769b012b90 mem_block[41] = 0xf1bfca3b2254e635 | |
mem_block[42] = 0x955fc1f521ff800e mem_block[43] = 0xc54bfc564db1bf1d | |
mem_block[44] = 0xb6af9857ce7b0bb7 mem_block[45] = 0xf8090867f0097d0e | |
mem_block[46] = 0x7a040a29590a53d5 mem_block[47] = 0x44706c323ac3b280 | |
mem_block[48] = 0x6c089738d6f72249 mem_block[49] = 0xfc12ac34c834a1a3 | |
mem_block[50] = 0xeff6e3515e3afa03 mem_block[51] = 0x221b6793b30d7482 | |
mem_block[52] = 0x435efc9a1f398b44 mem_block[53] = 0x60bb3045b2eea101 | |
mem_block[54] = 0x5c431a21e7578d06 mem_block[55] = 0x0e339519d1e304fd | |
mem_block[56] = 0xff18c7bef1a912b9 mem_block[57] = 0xdb37367b121f84b1 | |
mem_block[58] = 0xdaeca12d3dbb04f9 mem_block[59] = 0x4b5711f6c08e8664 | |
mem_block[60] = 0x5a45f0c56bead0e2 mem_block[61] = 0x4460363b7b4d0617 | |
mem_block[62] = 0xce55b59071b42ebd mem_block[63] = 0x32831b8450e09586 | |
State diff: | |
recomp: CR = 0xc555645a | |
interp: CR = 0x65556452 | |
Running test MTOCRF.8 | |
LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.8(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 776 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 267448320 | |
%7 = and i32 %2, -267448321 | |
%8 = or i32 %6, %7 | |
%9 = getelementptr i8* %ppu_state, i32 1540 | |
%10 = bitcast i8* %9 to i32* | |
store i32 %8, i32* %10, align 4 | |
ret i32 0 | |
} | |
Optimized LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.8(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 776 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 267448320 | |
%7 = and i32 %2, -267448321 | |
%8 = or i32 %6, %7 | |
store i32 %8, i32* %4, align 4 | |
ret i32 0 | |
} | |
Test MTOCRF.8 failed | |
Input state: | |
GPR[00] = 0xd0aba41684cce381 FPR[00] = 1.03482e+19 (0x43e1f38a97ec612f) VPR[00] = 0xdf281d2acdec47614e04cb185ef60be9 [x: -1.21139e+19 y: -4.95513e+08 z: 5.56976e+08 w: 8.86476e+18] | |
GPR[01] = 0x8eee96d4935e266a FPR[01] = 6.38281e+18 (0x43d62513733a3b9c) VPR[01] = 0xdf0ce260cef0b7254e38345f5f2cda38 [x: -1.01518e+19 y: -2.01927e+09 z: 7.7261e+08 w: 1.24553e+19] | |
GPR[02] = 0xd8f678e88259b74b FPR[02] = 8.50919e+18 (0x43dd85ae8534f70a) VPR[02] = 0xdf2b33c2ce03b5544edd61805ebabc95 [x: -1.23364e+19 y: -5.52425e+08 z: 1.85708e+09 w: 6.7279e+18] | |
GPR[03] = 0xe18c2fa5294140b5 FPR[03] = 1.12799e+19 (0x43e3914b7e887d34) VPR[03] = 0xdf1a2390ce7355c14da3c51b5f62c272 [x: -1.11069e+19 y: -1.02062e+09 z: 3.4345e+08 w: 1.63397e+19] | |
GPR[04] = 0x6d11e3eb8dc5213e FPR[04] = 9.17462e+18 (0x43dfd4b2ee5a7e47) VPR[04] = 0xde2546ddcea24f064e9f324b5cd154de [x: -2.97736e+18 y: -1.36154e+09 z: 1.33544e+09 w: 4.71373e+17] | |
GPR[05] = 0x9575430f35abe044 FPR[05] = 5.44108e+18 (0x43d2e0a772fe97aa) VPR[05] = 0xdf5717ebce8da7ed4e505bcd5f1bb5ea [x: -1.54991e+19 y: -1.1883e+09 z: 8.73919e+08 w: 1.12201e+19] | |
GPR[06] = 0xafa7b86b7a9ec06c FPR[06] = 5.95356e+18 (0x43d4a7d3bc7394b3) VPR[06] = 0xdefddae8cdd9516c4e02f9d35f6ee7e6 [x: -9.14609e+18 y: -4.55749e+08 z: 5.49353e+08 w: 1.7215e+19] | |
GPR[07] = 0xf2731685c439deda FPR[07] = 1.6779e+18 (0x43b74916d900064b) VPR[07] = 0xdd90252dce0416534e6121eb5f05e80a [x: -1.29834e+18 y: -5.54014e+08 z: 9.44274e+08 w: 9.64897e+18] | |
GPR[08] = 0xb4fb7e9356a55ebd FPR[08] = 1.75546e+19 (0x43ee73d1e5686fd4) VPR[08] = 0xdf525c36cc6f5fff4e6bc4f85f128693 [x: -1.5158e+19 y: -6.27507e+07 z: 9.88889e+08 w: 1.05583e+19] | |
GPR[09] = 0x129f7b6c723bf3b3 FPR[09] = 1.67653e+19 (0x43ed154b0415d15c) VPR[09] = 0xde500040cef727004ea42d5b5dbbe4ba [x: -3.74701e+18 y: -2.07326e+09 z: 1.37722e+09 w: 1.69239e+18] | |
GPR[10] = 0xee7f559bdc355691 FPR[10] = 1.23773e+19 (0x43e578a0f43a2740) VPR[10] = 0xdf11f04cce1d6d924ed094365f711ffb [x: -1.0516e+19 y: -6.60301e+08 z: 1.74969e+09 w: 1.73749e+19] | |
GPR[11] = 0x2b510fd58a92bce1 FPR[11] = 6.98402e+18 (0x43d83b0e15affab1) VPR[11] = 0xdf5f5dfbce53823b4ebcd5885d63dd59 [x: -1.60953e+19 y: -8.87132e+08 z: 1.58406e+09 w: 1.02621e+18] | |
GPR[12] = 0xe74e3bfba6d10dca FPR[12] = 1.4505e+19 (0x43e9298608a4a058) VPR[12] = 0xde7b4610ceb389894dee1a185eeaad6b [x: -4.52654e+18 y: -1.50607e+09 z: 4.99336e+08 w: 8.45514e+18] | |
GPR[13] = 0xe756913fab974a12 FPR[13] = 1.34098e+17 (0x437dc69095cffe7b) VPR[13] = 0xde787379cdcb02c14dd687465e3ad235 [x: -4.4757e+18 y: -4.25744e+08 z: 4.49899e+08 w: 3.36547e+18] | |
GPR[14] = 0x56399588681aec06 FPR[14] = 5.4742e+18 (0x43d2fe0fea00d0d4) VPR[14] = 0xdf7f39a5ce9f14a74e48f7fb5e88f839 [x: -1.83909e+19 y: -1.33447e+09 z: 8.42924e+08 w: 4.93485e+18] | |
GPR[15] = 0x94fe27cc3b619845 FPR[15] = 1.32507e+19 (0x43e6fc81339fbe5a) VPR[15] = 0xdf6cd651ceb8d15a4edf47495e5c3765 [x: -1.70659e+19 y: -1.55036e+09 z: 1.873e+09 w: 3.96707e+18] | |
GPR[16] = 0x34e43a2c12394cd4 FPR[16] = 1.22012e+19 (0x43e52a6897f910c9) VPR[16] = 0xdd1d1a79cebc1bb74e9a6cad5f45f45c [x: -7.07531e+17 y: -1.57797e+09 z: 1.29541e+09 w: 1.42641e+19] | |
GPR[17] = 0x86a74ec7982f75f5 FPR[17] = 4.65181e+18 (0x43d023a2616f135c) VPR[17] = 0xddc65c3ecd0838154eaee0245cd77af2 [x: -1.78667e+18 y: -1.42836e+08 z: 1.46696e+09 w: 4.85218e+17] | |
GPR[18] = 0xf4430321a2b67340 FPR[18] = 7.39901e+18 (0x43d9aba45af04b94) VPR[18] = 0xdf447c87ceca830f4eb3ad805f47fb8a [x: -1.41583e+19 y: -1.69879e+09 z: 1.50725e+09 w: 1.44103e+19] | |
GPR[19] = 0xaaf98d7ff3278d56 FPR[19] = 4.14063e+18 (0x43ccbb3d29c399f7) VPR[19] = 0xde4cb996ce46b1604dac52e65f24c0cc [x: -3.688e+18 y: -8.33378e+08 z: 3.61389e+08 w: 1.18717e+19] | |
GPR[20] = 0x9ae584fb677c5d98 FPR[20] = 1.21998e+19 (0x43e529cbb6a96960) VPR[20] = 0xdf061bddcd61f5b14e9a78225f132f72 [x: -9.66356e+18 y: -2.36936e+08 z: 1.29578e+09 w: 1.06058e+19] | |
GPR[21] = 0x5b8e8fb43ba29c9c FPR[21] = 1.11655e+19 (0x43e35e7aa160a656) VPR[21] = 0xdf357c1ace4f2e044e8cfcc85d5b8734 [x: -1.30774e+19 y: -8.68975e+08 z: 1.18269e+09 w: 9.88667e+17] | |
GPR[22] = 0x9a972380ab6ff450 FPR[22] = 1.27598e+19 (0x43e6228047087ec4) VPR[22] = 0xdf6af5d8cec8997b4cb06f915f0374d4 [x: -1.69307e+19 y: -1.68275e+09 z: 9.25032e+07 w: 9.47243e+18] | |
GPR[23] = 0xe43eca16550d275d FPR[23] = 1.68098e+18 (0x43b754079d462f16) VPR[23] = 0xdea39ca6cef00d994ef146225f37fb5f [x: -5.89474e+18 y: -2.01371e+09 z: 2.02395e+09 w: 1.32573e+19] | |
GPR[24] = 0x5c582a374e64db98 FPR[24] = 2.53122e+17 (0x438c1a270d590ba2) VPR[24] = 0xdf3aa14ecede75974eb0ab5e5ec2e538 [x: -1.34481e+19 y: -1.86612e+09 z: 1.48201e+09 w: 7.02185e+18] | |
GPR[25] = 0x45b7959c1903ce6f FPR[25] = 1.7338e+19 (0x43ee139a4344d5e5) VPR[25] = 0xde488ae4cce81dad4ee2608c5eadf38c [x: -3.61265e+18 y: -1.21696e+08 z: 1.89899e+09 w: 6.26726e+18] | |
GPR[26] = 0x59713e66c41aa89c FPR[26] = 2.40015e+18 (0x43c0a787729637a0) VPR[26] = 0xdebb113ecc9e371b4dc20a295f2df146 [x: -6.73981e+18 y: -8.29504e+07 z: 4.06931e+08 w: 1.25339e+19] | |
GPR[27] = 0xd9eb6931e4e0356b FPR[27] = 1.81683e+19 (0x43ef8454c9a27c54) VPR[27] = 0xdefaa729ce0616b44ee916da5f2ff1ff [x: -9.03072e+18 y: -5.62409e+08 z: 1.95529e+09 w: 1.26782e+19] | |
GPR[28] = 0x48086ad7d891c906 FPR[28] = 1.29279e+19 (0x43e66d221967271c) VPR[28] = 0xdf1d5bc0ceeaa5764d6175a95f0b05d4 [x: -1.13389e+19 y: -1.96836e+09 z: 2.36412e+08 w: 1.00176e+19] | |
GPR[29] = 0x9d9a6f82f9815754 FPR[29] = 1.40712e+19 (0x43e868e3c8281241) VPR[29] = 0xddc374eacec5e4c04e38e06f5e97674f [x: -1.76052e+18 y: -1.66005e+09 z: 7.75429e+08 w: 5.45489e+18] | |
GPR[30] = 0xa7593229b64aa348 FPR[30] = 1.07381e+19 (0x43e2a0a869bd363a) VPR[30] = 0xde883040cef3f2354d94a54a5f4405f4 [x: -4.90671e+18 y: -2.04637e+09 z: 3.11733e+08 w: 1.4125e+19] | |
GPR[31] = 0x4f8e526ca12dce30 FPR[31] = 1.56635e+19 (0x43eb2bfcba9fbefe) VPR[31] = 0xdf001518cd9e50354e9c39ed5e1969ea [x: -9.22931e+18 y: -3.32007e+08 z: 1.31052e+09 w: 2.76366e+18] | |
SPRG[0] = 0x1e0aad093882d58a | |
SPRG[1] = 0x7c1aeeb067fa5ba1 | |
SPRG[2] = 0x1e26a238082a044a | |
SPRG[3] = 0x9aac98b5779eca69 | |
SPRG[4] = 0x1c7a9a4523a6994d | |
SPRG[5] = 0xa7681d3be578a7c5 | |
SPRG[6] = 0xad53403129c1fabc | |
SPRG[7] = 0x690ba9307f012879 | |
CR = 0x76511e36 LR = 0x95331d5c89a3854c CTR = 0xab964644452ca229 TB=0xf3bc10fec1c19f74 | |
XER = 0x00000000a0000000 [CA=1 | OV=0 | SO=1] | |
mem_block[0] = 0xdb66b82757294bef mem_block[1] = 0xf48a51b3d1e381b7 | |
mem_block[2] = 0xceaa63147da1eed8 mem_block[3] = 0x65bdd69283cd49df | |
mem_block[4] = 0x07504c0ca3109922 mem_block[5] = 0x3cab1ee34cec298e | |
mem_block[6] = 0xc7a1315792d6c535 mem_block[7] = 0xed75bdeee9cd2389 | |
mem_block[8] = 0x28216fcb9a74bdfe mem_block[9] = 0x56113f7dd371245e | |
mem_block[10] = 0x9e34ce2891908c59 mem_block[11] = 0xaad112d2d9fcbc50 | |
mem_block[12] = 0xba4f45268b5dfc1f mem_block[13] = 0xccb5d623ed272604 | |
mem_block[14] = 0x15574c1df755e9da mem_block[15] = 0x3531878ab532ff37 | |
mem_block[16] = 0x4120114190333f6d mem_block[17] = 0xb37f0ce4b45ea4d3 | |
mem_block[18] = 0x0e318761c57f6038 mem_block[19] = 0x24364b24b207cb4e | |
mem_block[20] = 0x73317994a6290c92 mem_block[21] = 0x4bdb076aadaa4129 | |
mem_block[22] = 0x1d23dd8ea40084a6 mem_block[23] = 0xd17b8536df7776b3 | |
mem_block[24] = 0x89cee296a19fdfc9 mem_block[25] = 0x68ad46b5583a80e1 | |
mem_block[26] = 0xbeb651a5ee90d05b mem_block[27] = 0xbc5338cc9207dc5a | |
mem_block[28] = 0x3f2473876afb2332 mem_block[29] = 0x5084d3294de69dec | |
mem_block[30] = 0x43b5b68ae3c04290 mem_block[31] = 0x77b5aed3c69cbce2 | |
mem_block[32] = 0x9f09e8d1d4454079 mem_block[33] = 0x74906f5f181d95b9 | |
mem_block[34] = 0x1bec998020071425 mem_block[35] = 0x510b1b64b336935a | |
mem_block[36] = 0xd9cbb71770555701 mem_block[37] = 0xa60257a9a1be2445 | |
mem_block[38] = 0xa6daaa8f513f10ae mem_block[39] = 0xa0cf3195cd526544 | |
mem_block[40] = 0x7ffa4a74c5098e33 mem_block[41] = 0xfb61cf2f7afa1151 | |
mem_block[42] = 0x810aa63c1645753a mem_block[43] = 0x9c1c9acd786ae1c6 | |
mem_block[44] = 0x037e69ab613c6487 mem_block[45] = 0x816a87be76104888 | |
mem_block[46] = 0x0c810f6e56c95d97 mem_block[47] = 0xd7b156d60daca9b1 | |
mem_block[48] = 0xe38488ff6f1aa39f mem_block[49] = 0xe12146817ceb8ac4 | |
mem_block[50] = 0x80d104a1c8986609 mem_block[51] = 0x5eb44da3f1b069db | |
mem_block[52] = 0xc6e5e179d218c04c mem_block[53] = 0x4943bdb712beb463 | |
mem_block[54] = 0xdf83629d8888eb82 mem_block[55] = 0x3d129e64672f0127 | |
mem_block[56] = 0x1f05e4d53134fc24 mem_block[57] = 0x880514ec93332598 | |
mem_block[58] = 0x3de2ff49d39d3fcf mem_block[59] = 0xb8e00d92e12966da | |
mem_block[60] = 0xd613d6d7efecfd3e mem_block[61] = 0xcf3b576c5a35bc83 | |
mem_block[62] = 0xf15b82043cfa885f mem_block[63] = 0xa20ec2b4fe5cc942 | |
State diff: | |
recomp: CR = 0x965e166a | |
interp: CR = 0x765e1666 | |
Running test MTOCRF.9 | |
LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.9(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 776 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 267448320 | |
%7 = and i32 %2, -267448321 | |
%8 = or i32 %6, %7 | |
%9 = getelementptr i8* %ppu_state, i32 1540 | |
%10 = bitcast i8* %9 to i32* | |
store i32 %8, i32* %10, align 4 | |
ret i32 0 | |
} | |
Optimized LLVM IR: | |
define x86_64_win64cc i32 @MTOCRF.9(i8* %ppu_state, i64 %context) { | |
start: | |
%0 = getelementptr i8* %ppu_state, i32 776 | |
%1 = bitcast i8* %0 to i32* | |
%2 = load i32* %1, align 8 | |
%3 = getelementptr i8* %ppu_state, i32 1540 | |
%4 = bitcast i8* %3 to i32* | |
%5 = load i32* %4, align 4 | |
%6 = and i32 %5, 267448320 | |
%7 = and i32 %2, -267448321 | |
%8 = or i32 %6, %7 | |
store i32 %8, i32* %4, align 4 | |
ret i32 0 | |
} | |
Test MTOCRF.9 failed | |
Input state: | |
GPR[00] = 0x22735bbd8c1fd3b6 FPR[00] = 1.18957e+19 (0x43e4a2c09d79a682) VPR[00] = 0xded01202ca2946884e95500f5f35ea3f [x: -7.49652e+18 y: -2.77341e+06 z: 1.25253e+09 w: 1.31084e+19] | |
GPR[01] = 0xb234504bc46bc1e9 FPR[01] = 3.61605e+18 (0x43c91762efee452b) VPR[01] = 0xdee026dace1645a94ecafff15d86f163 [x: -8.07592e+18 y: -6.30287e+08 z: 1.70289e+09 w: 1.21546e+18] | |
GPR[02] = 0xe3761bb5e1401ff2 FPR[02] = 1.62305e+19 (0x43ec27cfb6265cb6) VPR[02] = 0xdf6bb9d9ce330d834ea29e9a5f3ff200 [x: -1.69858e+19 y: -7.51002e+08 z: 1.36415e+09 w: 1.38311e+19] | |
GPR[03] = 0x3feff7b2b8c363c3 FPR[03] = 9.99667e+17 (0x43abbf0ff7754c0c) VPR[03] = 0xdf65c50aceee386b4ef9e1205d1be2d2 [x: -1.65567e+19 y: -1.99834e+09 z: 2.09614e+09 w: 7.02048e+17] | |
GPR[04] = 0xe09f2a5da7de1386 FPR[04] = 1.26638e+19 (0x43e5f7dafbc11a19) VPR[04] = 0xddae6ba2cebb02594d7c45735f5f3702 [x: -1.57104e+18 y: -1.56875e+09 z: 2.64526e+08 w: 1.60843e+19] | |
GPR[05] = 0x0534f60a3dd439b7 FPR[05] = 5.64076e+18 (0x43d39200b2361579) VPR[05] = 0xdf702d7ace15949c4de5b3e85f337a6a [x: -1.73066e+19 y: -6.27386e+08 z: 4.81722e+08 w: 1.29328e+19] | |
GPR[06] = 0x183b4196364e99da FPR[06] = 9.58607e+18 (0x43e0a111879ae0b9) VPR[06] = 0xde40ad9cce5177704e93ad615ec9c8b9 [x: -3.47098e+18 y: -8.78566e+08 z: 1.23881e+09 w: 7.27004e+18] | |
GPR[07] = 0x254979f9d959fbdf FPR[07] = 4.12719e+18 (0x43cca35e695edc45) VPR[07] = 0xdf27d1d6ce9a10a44e31c8bc5f4668d9 [x: -1.20927e+19 y: -1.29239e+09 z: 7.45681e+08 w: 1.42969e+19] | |
GPR[08] = 0x6781b626a1f63980 FPR[08] = 1.18279e+19 (0x43e4849f732e296a) VPR[08] = 0xdee99a9fceea2cb64e837a805f1c0575 [x: -8.41647e+18 y: -1.9644e+09 z: 1.10292e+09 w: 1.12425e+19] | |
GPR[09] = 0x51ef81a14ae34aec FPR[09] = 6.68641e+18 (0x43d732baa0ead5e0) VPR[09] = 0xdf1114d4ce4429d34d27f7ed5f6650cf [x: -1.04542e+19 y: -8.22769e+08 z: 1.76128e+08 w: 1.6596e+19] | |
GPR[10] = 0x8c0c58d60a232652 FPR[10] = 3.8983e+18 (0x43cb0cc417e8d033) VPR[10] = 0xde6a6772ceb0ccc84eba205f5f067fc3 [x: -4.22265e+18 y: -1.48311e+09 z: 1.56134e+09 w: 9.69168e+18] | |
GPR[11] = 0xd15d57554b8bd8bd FPR[11] = 1.79361e+19 (0x43ef1d3cbce55a4a) VPR[11] = 0xdecdb9dcceb5c68c4d2b777a5d2a1c0d [x: -7.41206e+18 y: -1.52484e+09 z: 1.79796e+08 w: 7.66105e+17] | |
GPR[12] = 0x2b7ded117a3d3bfd FPR[12] = 4.23406e+18 (0x43cd6133c710f4a4) VPR[12] = 0xdf6e6f39ce8a2ff04dae23a45f7170f7 [x: -1.7181e+19 y: -1.1592e+09 z: 3.65196e+08 w: 1.73977e+19] | |
GPR[13] = 0x2b3bffdf09d50a85 FPR[13] = 6.15034e+18 (0x43d5569a7a434b68) VPR[13] = 0xddeb351bce0fc0904e102c725e818e81 [x: -2.11856e+18 y: -6.0294e+08 z: 6.04708e+08 w: 4.66777e+18] | |
GPR[14] = 0x862b609b092625e5 FPR[14] = 7.95172e+18 (0x43db968ae2026926) VPR[14] = 0xde53fe28cdf410e74eff762e5f472bdc [x: -3.81892e+18 y: -5.11844e+08 z: 2.14297e+09 w: 1.43518e+19] | |
GPR[15] = 0x703730659bff06e8 FPR[15] = 7.36281e+18 (0x43d98b7dc508f6d5) VPR[15] = 0xde936699ce21a6d04daa3a4f5f66a255 [x: -5.31067e+18 y: -6.78016e+08 z: 3.56994e+08 w: 1.66189e+19] | |
GPR[16] = 0x7a53d1d76d8f7fae FPR[16] = 1.25881e+19 (0x43e5d6416aed6602) VPR[16] = 0xdc9f9fd3cd968b514da51c7e5f7db45d [x: -3.59442e+17 y: -3.15714e+08 z: 3.46263e+08 w: 1.82813e+19] | |
GPR[17] = 0x9ddb4e6cf1d846f8 FPR[17] = 9.17495e+18 (0x43dfd4fdc29a000d) VPR[17] = 0xde41a94dccd268034dfc1e055f2a4ece [x: -3.48869e+18 y: -1.10313e+08 z: 5.28728e+08 w: 1.2272e+19] | |
GPR[18] = 0x7e361bc18eb31ad6 FPR[18] = 1.21657e+19 (0x43e51aab01f0669c) VPR[18] = 0xdeb9257bce9accdd4d8fd7415ea488ce [x: -6.6706e+18 y: -1.29856e+09 z: 3.01656e+08 w: 5.92798e+18] | |
GPR[19] = 0xec6dc8c97fcc5952 FPR[19] = 8.94571e+18 (0x43df0963556c1dc4) VPR[19] = 0xde0ed349ce6603df4eab112c5f510e05 [x: -2.57291e+18 y: -9.64753e+08 z: 1.43501e+09 w: 1.5064e+19] | |
GPR[20] = 0xdaccc30417231d00 FPR[20] = 2.43839e+18 (0x43c0eb749b2bcb7d) VPR[20] = 0xde513303ce9d3dea4d82cc405ee14901 [x: -3.7686e+18 y: -1.31904e+09 z: 2.74303e+08 w: 8.11675e+18] | |
GPR[21] = 0xa92e87168ecf91b8 FPR[21] = 3.36917e+18 (0x43c760da9ba603a7) VPR[21] = 0xdf64688aced1c96f4e04929f5efd6e9c [x: -1.64586e+19 y: -1.75982e+09 z: 5.5605e+08 w: 9.13085e+18] | |
GPR[22] = 0x77533fc0364a029f FPR[22] = 5.94618e+18 (0x43d4a1447ccbc2ec) VPR[22] = 0xdf602232ceac6c3d4e8a6aad5f768597 [x: -1.61505e+19 y: -1.44639e+09 z: 1.16112e+09 w: 1.77638e+19] | |
GPR[23] = 0x142803d4b36b8aa7 FPR[23] = 3.73485e+18 (0x43c9ea6b7f3d895e) VPR[23] = 0xdf0f3e2ece8b32b94d34d73e5f2ae428 [x: -1.03217e+19 y: -1.16768e+09 z: 1.89625e+08 w: 1.2314e+19] | |
GPR[24] = 0x461a62ec24285da0 FPR[24] = 9.62589e+18 (0x43e0b2c0cfee6a15) VPR[24] = 0xdeeb305dce97189f4e9d68bb5f7ed693 [x: -8.47357e+18 y: -1.26749e+09 z: 1.32044e+09 w: 1.8363e+19] | |
GPR[25] = 0x458345fea751dccf FPR[25] = 1.45108e+19 (0x43e92c190853d4ba) VPR[25] = 0xdf3bef46ccc9df534c9184a35f7c9592 [x: -1.35421e+19 y: -1.05839e+08 z: 7.62934e+07 w: 1.82006e+19] | |
GPR[26] = 0xdfb2055c49d0a260 FPR[26] = 6.29341e+18 (0x43d5d5abc4ec92c8) VPR[26] = 0xddb21761cecd24204d8f5b9f5f0d99ae [x: -1.6041e+18 y: -1.72085e+09 z: 3.00643e+08 w: 1.02034e+19] | |
GPR[27] = 0xce45977dbcb1d03a FPR[27] = 1.41761e+19 (0x43e89771725ce67c) VPR[27] = 0xdf75a4d0ce188da74edc184d5e19b568 [x: -1.77005e+19 y: -6.39855e+08 z: 1.84629e+09 w: 2.76897e+18] | |
GPR[28] = 0x84df8a226516631a FPR[28] = 1.4063e+19 (0x43e86534f6db5084) VPR[28] = 0xdedcdc8bcef8cf3b4dcb2b625ee41ac0 [x: -7.95737e+18 y: -2.08717e+09 z: 4.26077e+08 w: 8.21833e+18] | |
GPR[29] = 0xdd317b0f9980cd64 FPR[29] = 2.71845e+18 (0x43c2dcf132d4c40b) VPR[29] = 0xdf18cd11cd8557144ee87e9e5f29445d [x: -1.10105e+19 y: -2.79635e+08 z: 1.95031e+09 w: 1.2197e+19] | |
GPR[30] = 0xc821857ca72032b6 FPR[30] = 1.23291e+19 (0x43e5633ab7cd433e) VPR[30] = 0xdf5725dacd05d3214e1bb5da5f365876 [x: -1.5503e+19 y: -1.40325e+08 z: 6.53097e+08 w: 1.31394e+19] | |
GPR[31] = 0x4f55b543325d7962 FPR[31] = 6.30524e+18 (0x43d5e02eb863c1c2) VPR[31] = 0xdf6d2770cee4fe4c4e896a055cbf4994 [x: -1.70888e+19 y: -1.92094e+09 z: 1.15271e+09 w: 4.30741e+17] | |
SPRG[0] = 0xabac40b94866fd01 | |
SPRG[1] = 0xef2d5fd2d6895846 | |
SPRG[2] = 0xc5bc250727a053b4 | |
SPRG[3] = 0x88a4a84b3e81a001 | |
SPRG[4] = 0xee294c0aec584bac | |
SPRG[5] = 0x4e07d0dae539f6c6 | |
SPRG[6] = 0x15c4262adba9aa44 | |
SPRG[7] = 0x637c4d2d51c0fd24 | |
CR = 0x21dca370 LR = 0x6ef62d517b4e095a CTR = 0xf3fbe77a7c13bc36 TB=0x2d9510b0ccb161f7 | |
XER = 0x00000000a0000000 [CA=1 | OV=0 | SO=1] | |
mem_block[0] = 0xe6023ecb319ccf98 mem_block[1] = 0x2de474da74851111 | |
mem_block[2] = 0xbb205d98f2427a4e mem_block[3] = 0xb3778465c54f5ed2 | |
mem_block[4] = 0x6b2fbeb7666d873b mem_block[5] = 0xfd137b496e53b5c6 | |
mem_block[6] = 0x79b8bca5e8e5f11a mem_block[7] = 0x2d2a9806aaf33174 | |
mem_block[8] = 0xb09bd92efb03a428 mem_block[9] = 0xfdd4a03ecf524049 | |
mem_block[10] = 0xb55ae2dea99ae7d4 mem_block[11] = 0x2128eb4a87e84ad5 | |
mem_block[12] = 0xae1b41db4e6987c1 mem_block[13] = 0xa2c9be1bfe4128c2 | |
mem_block[14] = 0xc37a5a44ebb8d5f1 mem_block[15] = 0xa1626de687957b2d | |
mem_block[16] = 0x78722af2894be736 mem_block[17] = 0xdc89a136d4eef475 | |
mem_block[18] = 0x191590385910c64e mem_block[19] = 0x0975e1a4fff57e5b | |
mem_block[20] = 0x2cead48a60a03a27 mem_block[21] = 0xceda257854810e72 | |
mem_block[22] = 0x56a523a068dc60d6 mem_block[23] = 0x6ea1ae252610dfff | |
mem_block[24] = 0xe331d527cf1d00cc mem_block[25] = 0x97141fba9962e557 | |
mem_block[26] = 0x75833290a088c4ea mem_block[27] = 0x07f18488233d9281 | |
mem_block[28] = 0xd84c2fdff9834ffa mem_block[29] = 0x237dba77549feedf | |
mem_block[30] = 0x8d400748b34e9ae0 mem_block[31] = 0x111a991c6b6cc109 | |
mem_block[32] = 0xab2ca0a4cdfcdfb1 mem_block[33] = 0x8ebda8b3396a9b9d | |
mem_block[34] = 0xd67e176b7d08145b mem_block[35] = 0x0b601be4a588c391 | |
mem_block[36] = 0x5942a7f989bc3348 mem_block[37] = 0xbf4780ecf68afba3 | |
mem_block[38] = 0x577c5686f0e8bdc7 mem_block[39] = 0x3778dbbb715e1aa1 | |
mem_block[40] = 0x913c53cc51c27712 mem_block[41] = 0x7645c04beb64e306 | |
mem_block[42] = 0x4294f00943a1a1b1 mem_block[43] = 0x59fd5ba9c6bc06bd | |
mem_block[44] = 0x91fde1ec67c42bf1 mem_block[45] = 0x1375d754285aada4 | |
mem_block[46] = 0xe105869053769307 mem_block[47] = 0x585cbc25f797d7c6 | |
mem_block[48] = 0x09e6b0b56543a342 mem_block[49] = 0x4116b97c4527d681 | |
mem_block[50] = 0xc36d3c087504e2d2 mem_block[51] = 0x87abaf0f368835de | |
mem_block[52] = 0x3743e5de34225725 mem_block[53] = 0x51803455e1ffa778 | |
mem_block[54] = 0x48f24dd2c6051df9 mem_block[55] = 0x684fb54a96b00b11 | |
mem_block[56] = 0x2af0817ac19c7454 mem_block[57] = 0x9034335a0aa5dcac | |
mem_block[58] = 0x6d15ca56822312b4 mem_block[59] = 0x219715fbc9186c03 | |
mem_block[60] = 0xa9183ea586e24ff8 mem_block[61] = 0x1e057e75aa964900 | |
mem_block[62] = 0x189d368d067afb9e mem_block[63] = 0xa4bb94663bc48258 | |
State diff: | |
recomp: CR = 0xc1dba1e9 | |
interp: CR = 0x21dba1e0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment