cranelift: Fix iadd_carry/iadd_cout in the interpreter (#5176)

This commit is contained in:
Afonso Bordado
2022-11-14 18:18:28 +00:00
committed by GitHub
parent d3692c2f2b
commit ff46bbaebf
4 changed files with 23 additions and 4 deletions

View File

@@ -11,6 +11,7 @@ block0(v0: i8, v1: i8, v2: i8):
; run: %iaddcarry_i8_v(100, 27, 0) == 127
; run: %iaddcarry_i8_v(127, 127, 1) == -1
; run: %iaddcarry_i8_v(127, 127, 0) == -2
; run: %iaddcarry_i8_v(-128, -128, 0) == 0
function %iaddcarry_i8_c(i8, i8, i8) -> i8 {
block0(v0: i8, v1: i8, v2: i8):
@@ -23,6 +24,7 @@ block0(v0: i8, v1: i8, v2: i8):
; run: %iaddcarry_i8_c(100, 27, 0) == 0
; run: %iaddcarry_i8_c(127, 127, 1) == 1
; run: %iaddcarry_i8_c(127, 127, 0) == 1
; run: %iaddcarry_i8_c(-128, -128, 0) == 1
function %iaddcarry_i16_v(i16, i16, i8) -> i16 {
block0(v0: i16, v1: i16, v2: i8):

View File

@@ -9,6 +9,7 @@ block0(v0: i8, v1: i8):
; run: %iaddcout_i8_v(100, 27) == 127
; run: %iaddcout_i8_v(100, -20) == 80
; run: %iaddcout_i8_v(100, 28) == -128
; run: %iaddcout_i8_v(-128, -128) == 0
function %iaddcout_i8_c(i8, i8) -> i8 {
block0(v0: i8, v1: i8):
@@ -19,6 +20,7 @@ block0(v0: i8, v1: i8):
; run: %iaddcout_i8_c(100, 27) == 0
; run: %iaddcout_i8_c(100, -20) == 0
; run: %iaddcout_i8_c(100, 28) == 1
; run: %iaddcout_i8_c(-128, -128) == 1
function %iaddcout_i16_v(i16, i16) -> i16 {
block0(v0: i16, v1: i16):