|
|
@ -944,9 +944,9 @@ block0(v0: i128, v1: i128): |
|
|
|
} |
|
|
|
|
|
|
|
; VCode: |
|
|
|
; stmg %r7, %r15, 56(%r15) |
|
|
|
; stmg %r6, %r15, 48(%r15) |
|
|
|
; block0: |
|
|
|
; lgr %r10, %r2 |
|
|
|
; lgr %r6, %r2 |
|
|
|
; vl %v1, 0(%r3) |
|
|
|
; vl %v3, 0(%r4) |
|
|
|
; lgdr %r4, %f1 |
|
|
@ -955,22 +955,21 @@ block0(v0: i128, v1: i128): |
|
|
|
; vlgvg %r9, %v3, 1 |
|
|
|
; lgr %r3, %r5 |
|
|
|
; mlgr %r2, %r9 |
|
|
|
; lgr %r8, %r2 |
|
|
|
; msgrkc %r2, %r5, %r7 |
|
|
|
; msgrkc %r14, %r5, %r7 |
|
|
|
; msgrkc %r5, %r4, %r9 |
|
|
|
; agrk %r4, %r2, %r8 |
|
|
|
; agrk %r4, %r14, %r2 |
|
|
|
; agr %r5, %r4 |
|
|
|
; vlvgp %v5, %r5, %r3 |
|
|
|
; lgr %r2, %r10 |
|
|
|
; vst %v5, 0(%r2) |
|
|
|
; lmg %r7, %r15, 56(%r15) |
|
|
|
; vlvgp %v1, %r5, %r3 |
|
|
|
; lgr %r2, %r6 |
|
|
|
; vst %v1, 0(%r2) |
|
|
|
; lmg %r6, %r15, 48(%r15) |
|
|
|
; br %r14 |
|
|
|
; |
|
|
|
; Disassembled: |
|
|
|
; block0: ; offset 0x0 |
|
|
|
; stmg %r7, %r15, 0x38(%r15) |
|
|
|
; stmg %r6, %r15, 0x30(%r15) |
|
|
|
; block1: ; offset 0x6 |
|
|
|
; lgr %r10, %r2 |
|
|
|
; lgr %r6, %r2 |
|
|
|
; vl %v1, 0(%r3) |
|
|
|
; vl %v3, 0(%r4) |
|
|
|
; lgdr %r4, %f1 |
|
|
@ -979,15 +978,14 @@ block0(v0: i128, v1: i128): |
|
|
|
; vlgvg %r9, %v3, 1 |
|
|
|
; lgr %r3, %r5 |
|
|
|
; mlgr %r2, %r9 |
|
|
|
; lgr %r8, %r2 |
|
|
|
; msgrkc %r2, %r5, %r7 |
|
|
|
; msgrkc %r14, %r5, %r7 |
|
|
|
; msgrkc %r5, %r4, %r9 |
|
|
|
; agrk %r4, %r2, %r8 |
|
|
|
; agrk %r4, %r14, %r2 |
|
|
|
; agr %r5, %r4 |
|
|
|
; vlvgp %v5, %r5, %r3 |
|
|
|
; lgr %r2, %r10 |
|
|
|
; vst %v5, 0(%r2) |
|
|
|
; lmg %r7, %r15, 0x38(%r15) |
|
|
|
; vlvgp %v1, %r5, %r3 |
|
|
|
; lgr %r2, %r6 |
|
|
|
; vst %v1, 0(%r2) |
|
|
|
; lmg %r6, %r15, 0x30(%r15) |
|
|
|
; br %r14 |
|
|
|
|
|
|
|
function %imul_i64(i64, i64) -> i64 { |
|
|
@ -1319,16 +1317,16 @@ block0(v0: i64, v1: i64): |
|
|
|
|
|
|
|
; VCode: |
|
|
|
; block0: |
|
|
|
; lgr %r5, %r3 |
|
|
|
; lgr %r4, %r3 |
|
|
|
; lgr %r3, %r2 |
|
|
|
; mlgr %r2, %r5 |
|
|
|
; mlgr %r2, %r4 |
|
|
|
; br %r14 |
|
|
|
; |
|
|
|
; Disassembled: |
|
|
|
; block0: ; offset 0x0 |
|
|
|
; lgr %r5, %r3 |
|
|
|
; lgr %r4, %r3 |
|
|
|
; lgr %r3, %r2 |
|
|
|
; mlgr %r2, %r5 |
|
|
|
; mlgr %r2, %r4 |
|
|
|
; br %r14 |
|
|
|
|
|
|
|
function %umulhi_i32(i32, i32) -> i32 { |
|
|
@ -1541,34 +1539,34 @@ block0(v0: i32, v1: i32): |
|
|
|
} |
|
|
|
|
|
|
|
; VCode: |
|
|
|
; stmg %r7, %r15, 56(%r15) |
|
|
|
; stmg %r6, %r15, 48(%r15) |
|
|
|
; block0: |
|
|
|
; lgr %r7, %r3 |
|
|
|
; lgr %r6, %r3 |
|
|
|
; lgfr %r3, %r2 |
|
|
|
; iilf %r4, 2147483647 |
|
|
|
; xrk %r5, %r4, %r3 |
|
|
|
; lgr %r4, %r7 |
|
|
|
; nr %r5, %r4 |
|
|
|
; cite %r5, -1 |
|
|
|
; dsgfr %r2, %r4 |
|
|
|
; lgr %r2, %r6 |
|
|
|
; nrk %r4, %r5, %r2 |
|
|
|
; cite %r4, -1 |
|
|
|
; dsgfr %r2, %r2 |
|
|
|
; lgr %r2, %r3 |
|
|
|
; lmg %r7, %r15, 56(%r15) |
|
|
|
; lmg %r6, %r15, 48(%r15) |
|
|
|
; br %r14 |
|
|
|
; |
|
|
|
; Disassembled: |
|
|
|
; block0: ; offset 0x0 |
|
|
|
; stmg %r7, %r15, 0x38(%r15) |
|
|
|
; stmg %r6, %r15, 0x30(%r15) |
|
|
|
; block1: ; offset 0x6 |
|
|
|
; lgr %r7, %r3 |
|
|
|
; lgr %r6, %r3 |
|
|
|
; lgfr %r3, %r2 |
|
|
|
; iilf %r4, 0x7fffffff |
|
|
|
; xrk %r5, %r4, %r3 |
|
|
|
; lgr %r4, %r7 |
|
|
|
; nr %r5, %r4 |
|
|
|
; cite %r5, -1 ; trap: int_ovf |
|
|
|
; dsgfr %r2, %r4 ; trap: int_divz |
|
|
|
; lgr %r2, %r6 |
|
|
|
; nrk %r4, %r5, %r2 |
|
|
|
; cite %r4, -1 ; trap: int_ovf |
|
|
|
; dsgfr %r2, %r2 ; trap: int_divz |
|
|
|
; lgr %r2, %r3 |
|
|
|
; lmg %r7, %r15, 0x38(%r15) |
|
|
|
; lmg %r6, %r15, 0x30(%r15) |
|
|
|
; br %r14 |
|
|
|
|
|
|
|
function %sdiv_i32_imm(i32) -> i32 { |
|
|
@ -1813,34 +1811,32 @@ block0(v0: i16, v1: i16): |
|
|
|
} |
|
|
|
|
|
|
|
; VCode: |
|
|
|
; stmg %r8, %r15, 64(%r15) |
|
|
|
; stmg %r7, %r15, 56(%r15) |
|
|
|
; block0: |
|
|
|
; lgr %r4, %r3 |
|
|
|
; lhi %r5, 0 |
|
|
|
; lgr %r8, %r5 |
|
|
|
; lgr %r7, %r5 |
|
|
|
; llhr %r3, %r2 |
|
|
|
; lgr %r5, %r4 |
|
|
|
; llhr %r5, %r5 |
|
|
|
; lgr %r2, %r8 |
|
|
|
; llhr %r5, %r4 |
|
|
|
; lgr %r2, %r7 |
|
|
|
; dlr %r2, %r5 |
|
|
|
; lgr %r2, %r3 |
|
|
|
; lmg %r8, %r15, 64(%r15) |
|
|
|
; lmg %r7, %r15, 56(%r15) |
|
|
|
; br %r14 |
|
|
|
; |
|
|
|
; Disassembled: |
|
|
|
; block0: ; offset 0x0 |
|
|
|
; stmg %r8, %r15, 0x40(%r15) |
|
|
|
; stmg %r7, %r15, 0x38(%r15) |
|
|
|
; block1: ; offset 0x6 |
|
|
|
; lgr %r4, %r3 |
|
|
|
; lhi %r5, 0 |
|
|
|
; lgr %r8, %r5 |
|
|
|
; lgr %r7, %r5 |
|
|
|
; llhr %r3, %r2 |
|
|
|
; lgr %r5, %r4 |
|
|
|
; llhr %r5, %r5 |
|
|
|
; lgr %r2, %r8 |
|
|
|
; llhr %r5, %r4 |
|
|
|
; lgr %r2, %r7 |
|
|
|
; dlr %r2, %r5 ; trap: int_divz |
|
|
|
; lgr %r2, %r3 |
|
|
|
; lmg %r8, %r15, 0x40(%r15) |
|
|
|
; lmg %r7, %r15, 0x38(%r15) |
|
|
|
; br %r14 |
|
|
|
|
|
|
|
function %udiv_i16_imm(i16) -> i16 { |
|
|
@ -1879,34 +1875,32 @@ block0(v0: i8, v1: i8): |
|
|
|
} |
|
|
|
|
|
|
|
; VCode: |
|
|
|
; stmg %r8, %r15, 64(%r15) |
|
|
|
; stmg %r7, %r15, 56(%r15) |
|
|
|
; block0: |
|
|
|
; lgr %r4, %r3 |
|
|
|
; lhi %r5, 0 |
|
|
|
; lgr %r8, %r5 |
|
|
|
; lgr %r7, %r5 |
|
|
|
; llcr %r3, %r2 |
|
|
|
; lgr %r5, %r4 |
|
|
|
; llcr %r5, %r5 |
|
|
|
; lgr %r2, %r8 |
|
|
|
; llcr %r5, %r4 |
|
|
|
; lgr %r2, %r7 |
|
|
|
; dlr %r2, %r5 |
|
|
|
; lgr %r2, %r3 |
|
|
|
; lmg %r8, %r15, 64(%r15) |
|
|
|
; lmg %r7, %r15, 56(%r15) |
|
|
|
; br %r14 |
|
|
|
; |
|
|
|
; Disassembled: |
|
|
|
; block0: ; offset 0x0 |
|
|
|
; stmg %r8, %r15, 0x40(%r15) |
|
|
|
; stmg %r7, %r15, 0x38(%r15) |
|
|
|
; block1: ; offset 0x6 |
|
|
|
; lgr %r4, %r3 |
|
|
|
; lhi %r5, 0 |
|
|
|
; lgr %r8, %r5 |
|
|
|
; lgr %r7, %r5 |
|
|
|
; llcr %r3, %r2 |
|
|
|
; lgr %r5, %r4 |
|
|
|
; llcr %r5, %r5 |
|
|
|
; lgr %r2, %r8 |
|
|
|
; llcr %r5, %r4 |
|
|
|
; lgr %r2, %r7 |
|
|
|
; dlr %r2, %r5 ; trap: int_divz |
|
|
|
; lgr %r2, %r3 |
|
|
|
; lmg %r8, %r15, 0x40(%r15) |
|
|
|
; lmg %r7, %r15, 0x38(%r15) |
|
|
|
; br %r14 |
|
|
|
|
|
|
|
function %udiv_i8_imm(i8) -> i8 { |
|
|
@ -1950,7 +1944,8 @@ block0(v0: i64, v1: i64): |
|
|
|
; lgr %r4, %r3 |
|
|
|
; lgr %r3, %r2 |
|
|
|
; locghie %r3, 0 |
|
|
|
; dsgr %r2, %r4 |
|
|
|
; lgr %r2, %r4 |
|
|
|
; dsgr %r2, %r2 |
|
|
|
; br %r14 |
|
|
|
; |
|
|
|
; Disassembled: |
|
|
@ -1959,7 +1954,8 @@ block0(v0: i64, v1: i64): |
|
|
|
; lgr %r4, %r3 |
|
|
|
; lgr %r3, %r2 |
|
|
|
; locghie %r3, 0 |
|
|
|
; dsgr %r2, %r4 ; trap: int_divz |
|
|
|
; lgr %r2, %r4 |
|
|
|
; dsgr %r2, %r2 ; trap: int_divz |
|
|
|
; br %r14 |
|
|
|
|
|
|
|
function %srem_i32(i32, i32) -> i32 { |
|
|
@ -1972,16 +1968,14 @@ block0(v0: i32, v1: i32): |
|
|
|
; block0: |
|
|
|
; lgr %r5, %r3 |
|
|
|
; lgfr %r3, %r2 |
|
|
|
; lgr %r2, %r5 |
|
|
|
; dsgfr %r2, %r2 |
|
|
|
; dsgfr %r2, %r5 |
|
|
|
; br %r14 |
|
|
|
; |
|
|
|
; Disassembled: |
|
|
|
; block0: ; offset 0x0 |
|
|
|
; lgr %r5, %r3 |
|
|
|
; lgfr %r3, %r2 |
|
|
|
; lgr %r2, %r5 |
|
|
|
; dsgfr %r2, %r2 ; trap: int_divz |
|
|
|
; dsgfr %r2, %r5 ; trap: int_divz |
|
|
|
; br %r14 |
|
|
|
|
|
|
|
function %srem_i16(i16, i16) -> i16 { |
|
|
@ -1992,17 +1986,19 @@ block0(v0: i16, v1: i16): |
|
|
|
|
|
|
|
; VCode: |
|
|
|
; block0: |
|
|
|
; lgr %r4, %r3 |
|
|
|
; lgr %r5, %r3 |
|
|
|
; lghr %r3, %r2 |
|
|
|
; lhr %r4, %r4 |
|
|
|
; lgr %r2, %r5 |
|
|
|
; lhr %r4, %r2 |
|
|
|
; dsgfr %r2, %r4 |
|
|
|
; br %r14 |
|
|
|
; |
|
|
|
; Disassembled: |
|
|
|
; block0: ; offset 0x0 |
|
|
|
; lgr %r4, %r3 |
|
|
|
; lgr %r5, %r3 |
|
|
|
; lghr %r3, %r2 |
|
|
|
; lhr %r4, %r4 |
|
|
|
; lgr %r2, %r5 |
|
|
|
; lhr %r4, %r2 |
|
|
|
; dsgfr %r2, %r4 ; trap: int_divz |
|
|
|
; br %r14 |
|
|
|
|
|
|
@ -2014,17 +2010,19 @@ block0(v0: i8, v1: i8): |
|
|
|
|
|
|
|
; VCode: |
|
|
|
; block0: |
|
|
|
; lgr %r4, %r3 |
|
|
|
; lgr %r5, %r3 |
|
|
|
; lgbr %r3, %r2 |
|
|
|
; lbr %r4, %r4 |
|
|
|
; lgr %r2, %r5 |
|
|
|
; lbr %r4, %r2 |
|
|
|
; dsgfr %r2, %r4 |
|
|
|
; br %r14 |
|
|
|
; |
|
|
|
; Disassembled: |
|
|
|
; block0: ; offset 0x0 |
|
|
|
; lgr %r4, %r3 |
|
|
|
; lgr %r5, %r3 |
|
|
|
; lgbr %r3, %r2 |
|
|
|
; lbr %r4, %r4 |
|
|
|
; lgr %r2, %r5 |
|
|
|
; lbr %r4, %r2 |
|
|
|
; dsgfr %r2, %r4 ; trap: int_divz |
|
|
|
; br %r14 |
|
|
|
|
|
|
@ -2079,32 +2077,30 @@ block0(v0: i16, v1: i16): |
|
|
|
} |
|
|
|
|
|
|
|
; VCode: |
|
|
|
; stmg %r8, %r15, 64(%r15) |
|
|
|
; stmg %r7, %r15, 56(%r15) |
|
|
|
; block0: |
|
|
|
; lgr %r4, %r3 |
|
|
|
; lhi %r5, 0 |
|
|
|
; lgr %r8, %r5 |
|
|
|
; lgr %r7, %r5 |
|
|
|
; llhr %r3, %r2 |
|
|
|
; lgr %r5, %r4 |
|
|
|
; llhr %r5, %r5 |
|
|
|
; lgr %r2, %r8 |
|
|
|
; llhr %r5, %r4 |
|
|
|
; lgr %r2, %r7 |
|
|
|
; dlr %r2, %r5 |
|
|
|
; lmg %r8, %r15, 64(%r15) |
|
|
|
; lmg %r7, %r15, 56(%r15) |
|
|
|
; br %r14 |
|
|
|
; |
|
|
|
; Disassembled: |
|
|
|
; block0: ; offset 0x0 |
|
|
|
; stmg %r8, %r15, 0x40(%r15) |
|
|
|
; stmg %r7, %r15, 0x38(%r15) |
|
|
|
; block1: ; offset 0x6 |
|
|
|
; lgr %r4, %r3 |
|
|
|
; lhi %r5, 0 |
|
|
|
; lgr %r8, %r5 |
|
|
|
; lgr %r7, %r5 |
|
|
|
; llhr %r3, %r2 |
|
|
|
; lgr %r5, %r4 |
|
|
|
; llhr %r5, %r5 |
|
|
|
; lgr %r2, %r8 |
|
|
|
; llhr %r5, %r4 |
|
|
|
; lgr %r2, %r7 |
|
|
|
; dlr %r2, %r5 ; trap: int_divz |
|
|
|
; lmg %r8, %r15, 0x40(%r15) |
|
|
|
; lmg %r7, %r15, 0x38(%r15) |
|
|
|
; br %r14 |
|
|
|
|
|
|
|
function %urem_i8(i8, i8) -> i8 { |
|
|
@ -2114,31 +2110,29 @@ block0(v0: i8, v1: i8): |
|
|
|
} |
|
|
|
|
|
|
|
; VCode: |
|
|
|
; stmg %r8, %r15, 64(%r15) |
|
|
|
; stmg %r7, %r15, 56(%r15) |
|
|
|
; block0: |
|
|
|
; lgr %r4, %r3 |
|
|
|
; lhi %r5, 0 |
|
|
|
; lgr %r8, %r5 |
|
|
|
; lgr %r7, %r5 |
|
|
|
; llcr %r3, %r2 |
|
|
|
; lgr %r5, %r4 |
|
|
|
; llcr %r5, %r5 |
|
|
|
; lgr %r2, %r8 |
|
|
|
; llcr %r5, %r4 |
|
|
|
; lgr %r2, %r7 |
|
|
|
; dlr %r2, %r5 |
|
|
|
; lmg %r8, %r15, 64(%r15) |
|
|
|
; lmg %r7, %r15, 56(%r15) |
|
|
|
; br %r14 |
|
|
|
; |
|
|
|
; Disassembled: |
|
|
|
; block0: ; offset 0x0 |
|
|
|
; stmg %r8, %r15, 0x40(%r15) |
|
|
|
; stmg %r7, %r15, 0x38(%r15) |
|
|
|
; block1: ; offset 0x6 |
|
|
|
; lgr %r4, %r3 |
|
|
|
; lhi %r5, 0 |
|
|
|
; lgr %r8, %r5 |
|
|
|
; lgr %r7, %r5 |
|
|
|
; llcr %r3, %r2 |
|
|
|
; lgr %r5, %r4 |
|
|
|
; llcr %r5, %r5 |
|
|
|
; lgr %r2, %r8 |
|
|
|
; llcr %r5, %r4 |
|
|
|
; lgr %r2, %r7 |
|
|
|
; dlr %r2, %r5 ; trap: int_divz |
|
|
|
; lmg %r8, %r15, 0x40(%r15) |
|
|
|
; lmg %r7, %r15, 0x38(%r15) |
|
|
|
; br %r14 |
|
|
|
|
|
|
|