test run target aarch64 target s390x function %i128_bricmp_eq(i128, i128) -> b1 { block0(v0: i128, v1: i128): br_icmp.i128 eq v0, v1, block2 jump block1 block1: v2 = bconst.b1 false return v2 block2: v3 = bconst.b1 true return v3 } ; run: %i128_bricmp_eq(0, 0) == true ; run: %i128_bricmp_eq(-1, -1) == true ; run: %i128_bricmp_eq(-1, 0) == false ; run: %i128_bricmp_eq(-1, 0xFFFFFFFF_FFFFFFFF_00000000_00000000) == false ; run: %i128_bricmp_eq(0x00000000_00000000_FFFFFFFF_FFFFFFFF, -1) == false ; run: %i128_bricmp_eq(0xFFFFFFFF_FFFFFFFF_00000000_00000000, -1) == false ; run: %i128_bricmp_eq(0xDECAFFFF_C0FFEEEE_C0FFEEEE_DECAFFFF, 0xDECAFFFF_C0FFEEEE_C0FFEEEE_DECAFFFF) == true ; run: %i128_bricmp_eq(0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF, 0x00000000_00000001_00000000_00000001) == false ; run: %i128_bricmp_eq(0x00000000_00000001_FFFFFFFF_FFFFFFFF, 0x00000000_00000001_00000000_00000001) == false function %i128_bricmp_ne(i128, i128) -> b1 { block0(v0: i128,v1: i128): br_icmp.i128 ne v0, v1, block2 jump block1 block1: v2 = bconst.b1 false return v2 block2: v3 = bconst.b1 true return v3 } ; run: %i128_bricmp_ne(0, 0) == false ; run: %i128_bricmp_ne(-1, -1) == false ; run: %i128_bricmp_ne(-1, 0) == true ; run: %i128_bricmp_ne(-1, 0xFFFFFFFF_FFFFFFFF_00000000_00000000) == true ; run: %i128_bricmp_ne(0x00000000_00000000_FFFFFFFF_FFFFFFFF, -1) == true ; run: %i128_bricmp_ne(0xFFFFFFFF_FFFFFFFF_00000000_00000000, -1) == true ; run: %i128_bricmp_ne(0xDECAFFFF_C0FFEEEE_C0FFEEEE_DECAFFFF, 0xDECAFFFF_C0FFEEEE_C0FFEEEE_DECAFFFF) == false ; run: %i128_bricmp_ne(0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF, 0x00000000_00000001_00000000_00000001) == true ; run: %i128_bricmp_ne(0x00000000_00000001_FFFFFFFF_FFFFFFFF, 0x00000000_00000001_00000000_00000001) == true function %i128_bricmp_slt(i128, i128) -> b1 { block0(v0: i128,v1: i128): br_icmp.i128 slt v0, v1, block2 jump block1 block1: v2 = bconst.b1 false return v2 block2: v3 = bconst.b1 true return v3 } ; run: %i128_bricmp_slt(0, 0) == false ; run: %i128_bricmp_slt(1, 1) == false ; run: %i128_bricmp_slt(0, 1) == true ; run: %i128_bricmp_slt(-1, 0) == true ; run: %i128_bricmp_slt(0, -1) == false ; run: %i128_bricmp_slt(-1, -1) == false ; run: %i128_bricmp_slt(0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFD, 0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF) == true ; run: %i128_bricmp_slt(0xC0FFEEEE_C0FFEEEE_00000000_00000000, 0xDECAFFFF_DECAFFFF_00000000_00000000) == true ; run: %i128_bricmp_slt(0xDECAFFFF_DECAFFFF_00000000_00000000, 0xC0FFEEEE_C0FFEEEE_00000000_00000000) == false function %i128_bricmp_ult(i128, i128) -> b1 { block0(v0: i128,v1: i128): br_icmp.i128 ult v0, v1, block2 jump block1 block1: v2 = bconst.b1 false return v2 block2: v3 = bconst.b1 true return v3 } ; run: %i128_bricmp_ult(0, 0) == false ; run: %i128_bricmp_ult(1, 1) == false ; run: %i128_bricmp_ult(0, 1) == true ; run: %i128_bricmp_ult(-1, 0) == false ; run: %i128_bricmp_ult(0, -1) == true ; run: %i128_bricmp_ult(-1, -1) == false ; run: %i128_bricmp_ult(0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFD, 0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF) == true ; run: %i128_bricmp_ult(0xC0FFEEEE_C0FFEEEE_00000000_00000000, 0xDECAFFFF_DECAFFFF_00000000_00000000) == true ; run: %i128_bricmp_ult(0xDECAFFFF_DECAFFFF_00000000_00000000, 0xC0FFEEEE_C0FFEEEE_00000000_00000000) == false function %i128_bricmp_sle(i128, i128) -> b1 { block0(v0: i128,v1: i128): br_icmp.i128 sle v0, v1, block2 jump block1 block1: v2 = bconst.b1 false return v2 block2: v3 = bconst.b1 true return v3 } ; run: %i128_bricmp_sle(0, 0) == true ; run: %i128_bricmp_sle(1, 1) == true ; run: %i128_bricmp_sle(0, 1) == true ; run: %i128_bricmp_sle(-1, 0) == true ; run: %i128_bricmp_sle(0, -1) == false ; run: %i128_bricmp_sle(-1, -1) == true ; run: %i128_bricmp_sle(0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFD, 0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF) == true ; run: %i128_bricmp_sle(0xC0FFEEEE_C0FFEEEE_00000000_00000000, 0xDECAFFFF_DECAFFFF_00000000_00000000) == true ; run: %i128_bricmp_sle(0xDECAFFFF_DECAFFFF_00000000_00000000, 0xC0FFEEEE_C0FFEEEE_00000000_00000000) == false function %i128_bricmp_ule(i128, i128) -> b1 { block0(v0: i128,v1: i128): br_icmp.i128 ule v0, v1, block2 jump block1 block1: v2 = bconst.b1 false return v2 block2: v3 = bconst.b1 true return v3 } ; run: %i128_bricmp_ule(0, 0) == true ; run: %i128_bricmp_ule(1, 1) == true ; run: %i128_bricmp_ule(0, 1) == true ; run: %i128_bricmp_ule(-1, 0) == false ; run: %i128_bricmp_ule(0, -1) == true ; run: %i128_bricmp_ule(-1, -1) == true ; run: %i128_bricmp_ule(0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFD, 0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF) == true ; run: %i128_bricmp_ule(0xC0FFEEEE_C0FFEEEE_00000000_00000000, 0xDECAFFFF_DECAFFFF_00000000_00000000) == true ; run: %i128_bricmp_ule(0xDECAFFFF_DECAFFFF_00000000_00000000, 0xC0FFEEEE_C0FFEEEE_00000000_00000000) == false function %i128_bricmp_sgt(i128, i128) -> b1 { block0(v0: i128,v1: i128): br_icmp.i128 sgt v0, v1, block2 jump block1 block1: v2 = bconst.b1 false return v2 block2: v3 = bconst.b1 true return v3 } ; run: %i128_bricmp_sgt(0, 0) == false ; run: %i128_bricmp_sgt(1, 1) == false ; run: %i128_bricmp_sgt(0, 1) == false ; run: %i128_bricmp_sgt(-1, 0) == false ; run: %i128_bricmp_sgt(0, -1) == true ; run: %i128_bricmp_sgt(-1, -1) == false ; run: %i128_bricmp_sgt(0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFD, 0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF) == false ; run: %i128_bricmp_sgt(0xC0FFEEEE_C0FFEEEE_00000000_00000000, 0xDECAFFFF_DECAFFFF_00000000_00000000) == false ; run: %i128_bricmp_sgt(0xDECAFFFF_DECAFFFF_00000000_00000000, 0xC0FFEEEE_C0FFEEEE_00000000_00000000) == true function %i128_bricmp_ugt(i128, i128) -> b1 { block0(v0: i128,v1: i128): br_icmp.i128 ugt v0, v1, block2 jump block1 block1: v2 = bconst.b1 false return v2 block2: v3 = bconst.b1 true return v3 } ; run: %i128_bricmp_ugt(0, 0) == false ; run: %i128_bricmp_ugt(1, 1) == false ; run: %i128_bricmp_ugt(0, 1) == false ; run: %i128_bricmp_ugt(-1, 0) == true ; run: %i128_bricmp_ugt(0, -1) == false ; run: %i128_bricmp_ugt(-1, -1) == false ; run: %i128_bricmp_ugt(0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFD, 0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF) == false ; run: %i128_bricmp_ugt(0xC0FFEEEE_C0FFEEEE_00000000_00000000, 0xDECAFFFF_DECAFFFF_00000000_00000000) == false ; run: %i128_bricmp_ugt(0xDECAFFFF_DECAFFFF_00000000_00000000, 0xC0FFEEEE_C0FFEEEE_00000000_00000000) == true function %i128_bricmp_sge(i128, i128) -> b1 { block0(v0: i128,v1: i128): br_icmp.i128 sge v0, v1, block2 jump block1 block1: v2 = bconst.b1 false return v2 block2: v3 = bconst.b1 true return v3 } ; run: %i128_bricmp_sge(0, 0) == true ; run: %i128_bricmp_sge(1, 1) == true ; run: %i128_bricmp_sge(0, 1) == false ; run: %i128_bricmp_sge(-1, 0) == false ; run: %i128_bricmp_sge(0, -1) == true ; run: %i128_bricmp_sge(-1, -1) == true ; run: %i128_bricmp_sge(0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFD, 0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF) == false ; run: %i128_bricmp_sge(0xC0FFEEEE_C0FFEEEE_00000000_00000000, 0xDECAFFFF_DECAFFFF_00000000_00000000) == false ; run: %i128_bricmp_sge(0xDECAFFFF_DECAFFFF_00000000_00000000, 0xC0FFEEEE_C0FFEEEE_00000000_00000000) == true function %i128_bricmp_uge(i128, i128) -> b1 { block0(v0: i128,v1: i128): br_icmp.i128 uge v0, v1, block2 jump block1 block1: v2 = bconst.b1 false return v2 block2: v3 = bconst.b1 true return v3 } ; run: %i128_bricmp_uge(0, 0) == true ; run: %i128_bricmp_uge(1, 1) == true ; run: %i128_bricmp_uge(0, 1) == false ; run: %i128_bricmp_uge(-1, 0) == true ; run: %i128_bricmp_uge(0, -1) == false ; run: %i128_bricmp_uge(-1, -1) == true ; run: %i128_bricmp_uge(0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFD, 0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF) == false ; run: %i128_bricmp_uge(0xC0FFEEEE_C0FFEEEE_00000000_00000000, 0xDECAFFFF_DECAFFFF_00000000_00000000) == false ; run: %i128_bricmp_uge(0xDECAFFFF_DECAFFFF_00000000_00000000, 0xC0FFEEEE_C0FFEEEE_00000000_00000000) == true