Skip to content

Instantly share code, notes, and snippets.

@danilaml
Created August 5, 2015 18:47
Show Gist options
  • Save danilaml/bb278a0d19ac447a9827 to your computer and use it in GitHub Desktop.
Save danilaml/bb278a0d19ac447a9827 to your computer and use it in GitHub Desktop.
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