test run set enable_llvm_abi_extensions=true target aarch64 target x86_64 machinst function %ctz_i128(i128) -> i128 { block0(v0: i128): v1 = ctz v0 return v1 } ; run: %ctz_i128(0x00000000_00000000_00000000_00000000) == 128 ; run: %ctz_i128(0x00000000_00000000_FFFFFFFF_FFFFFFFF) == 0 ; run: %ctz_i128(0xFFFFFFFF_FFFFFFFF_00000000_00000000) == 64 ; run: %ctz_i128(0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF) == 0 ; run: %ctz_i128(0xF0000000_00000000_FFFFFFFF_00000000) == 32 ; run: %ctz_i128(0xFF000000_00000000_F0000000_00000000) == 60 ; run: %ctz_i128(0x00000000_00000000_00000001_00000000) == 32 ; run: %ctz_i128(0x00000001_00000000_00000000_00000000) == 96 ; run: %ctz_i128(0x00000001_00000000_00000000_00010000) == 16 ; run: %ctz_i128(0x00000000_00000000_00000000_00010000) == 16 function %clz_i128(i128) -> i128 { block0(v0: i128): v1 = clz v0 return v1 } ; run: %clz_i128(0x00000000_00000000_00000000_00000000) == 128 ; run: %clz_i128(0x00000000_00000000_FFFFFFFF_FFFFFFFF) == 64 ; run: %clz_i128(0xFFFFFFFF_FFFFFFFF_00000000_00000000) == 0 ; run: %clz_i128(0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF) == 0 ; run: %clz_i128(0x40000000_00000000_FFFFFFFF_FFFFFFFF) == 1 ; run: %clz_i128(0x20000000_00000000_FFFFFFFF_FFFFFFFF) == 2 ; run: %clz_i128(0x00000000_80000000_00000000_00000000) == 32 ; run: %clz_i128(0x00000001_00000000_00000000_00000000) == 31 ; run: %clz_i128(0x00000001_00000000_00000000_00010000) == 31 ; run: %clz_i128(0x00000000_00000000_00000000_00010000) == 111 function %popcnt_i128(i128) -> i128 { block0(v0: i128): v1 = popcnt v0 return v1 } ; run: %popcnt_i128(0x00000000_00000000_00000000_00000000) == 0 ; run: %popcnt_i128(0x00000000_00000000_FFFFFFFF_FFFFFFFF) == 64 ; run: %popcnt_i128(0xFFFFFFFF_FFFFFFFF_00000000_00000000) == 64 ; run: %popcnt_i128(0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF) == 128 ; run: %popcnt_i128(0x55555555_55555555_55555555_55555555) == 64 ; run: %popcnt_i128(0xDECAFFFF_C0FFEEEE_C0FFEEEE_DECAFFFF) == 96