Skip to content

Instantly share code, notes, and snippets.

@regehr
Created May 6, 2018 16:28
Show Gist options
  • Select an option

  • Save regehr/be7fd81ee4940086fcbf1fa3dd521fe0 to your computer and use it in GitHub Desktop.

Select an option

Save regehr/be7fd81ee4940086fcbf1fa3dd521fe0 to your computer and use it in GitHub Desktop.
-----------------------------------------------------------
; start LHS (in $_od_ec_decode_cdf_q15)
%0:i32 = var
%1 = add %0, -1:i32
%2:i32 = var
%3 = xor %2, -1:i32
%4 = add %1, %3
infer %4
; RHS inferred successfully
%5:i32 = sub 4294967294:i32, %2
%6:i32 = add %0, %5
result %6
-----------------------------------------------------------
; start LHS (in $_od_ec_decode_cdf_q15)
%0:i32 = var
%1 = add %0, -1:i32
%2:i32 = var
%3 = xor %2, -1:i32
%4 = add %1, %3
%5 = shl %4, 2:i32
infer %5
; RHS inferred successfully
%6:i32 = add 2147483650:i32, %2
%7:i32 = sub %0, %6
%8:i32 = shl %7, 2:i32
result %8
-----------------------------------------------------------
; start LHS (in $_od_ec_decode_cdf_q15)
%0:i32 = var
%1 = xor %0, 31:i32
%2 = sub 15:i32, %1
%3 = sub %0, %2
%4 = and %3, 65535:i32
%5 = shl %4, 16:i32
%6 = ashr %5, 16:i32
%7 = slt 0:i32, %6
%8:i32 = zext %7
%9 = eq %8, 0:i32
infer %9
; RHS inferred successfully
%10:i32 = ashr %0, 14:i32
%11:i1 = trunc %10
result %11
-----------------------------------------------------------
; start LHS (in $_od_ec_decode_cdf_q15)
%0:i32 = var
%1 = and %0, 65535:i32
%2 = add %1, 8:i32
%3 = and %2, 65535:i32
%4:i32 = var
%5 = sub 15:i32, %0
%6 = sub %4, %5
%7 = shl %6, 16:i32
%8 = ashr %7, 16:i32
%9 = sub 8:i32, %8
%10 = sle -1:i32, %9
%11:i32 = zext %10
%12:i32 = var
%13:i32 = var
%14 = ult %12, %13
%15:i32 = zext %14
%16 = and %11, %15
%17 = ne %16, 0:i32
pc %17 1:i1
infer %3
; RHS inferred successfully
%18:i32 = sub %0, 2198339576:i32
%19:i32 = and 65535:i32, %18
result %19
-----------------------------------------------------------
; start LHS (in $_od_ec_decode_cdf_q15)
%0:i32 = var
%1:i32 = var
%2 = ult %0, %1
%3:i32 = zext %2
%4 = eq %3, 0:i32
infer %4
; RHS inferred successfully
%5:i1 = ule %1, %0
result %5
-----------------------------------------------------------
; start LHS (in $_od_ec_decode_cdf_q15)
%0:i32 = var
%1 = add %0, 1:i32
%2:i32 = var
%3 = ult %1, %2
%4:i32 = zext %3
%5 = eq %4, 0:i32
%6:i32 = var
%7 = sub 15:i32, %0
%8 = sub %6, %7
%9 = shl %8, 16:i32
%10 = ashr %9, 16:i32
%11 = sub 8:i32, %10
%12 = sle -1:i32, %11
%13:i32 = zext %12
%14:i32 = var
%15 = ult %14, %2
%16:i32 = zext %15
%17 = and %13, %16
%18 = ne %17, 0:i32
pc %18 1:i1
infer %5
; RHS inferred successfully
%19:i1 = ule %2, %1
result %19
-----------------------------------------------------------
; start LHS (in $_od_ec_decode_cdf_q15)
%0:i32 = var
%1 = add %0, 1:i32
%2:i32 = var
%3 = ult %1, %2
%4:i32 = zext %3
%5 = eq %4, 0:i32
%6:i32 = zext %5
infer %6
; RHS inferred successfully
%7:i1 = ule %2, %1
%8:i32 = zext %7
result %8
-----------------------------------------------------------
; start LHS (in $_od_ec_decode_cdf_q15)
%0:i32 = var
%1 = add %0, 1:i32
%2:i32 = var
%3 = ult %1, %2
%4:i32 = zext %3
%5 = eq %4, 0:i32
%6:i32 = zext %5
infer %6
; RHS inferred successfully
%7:i1 = ule %2, %1
%8:i32 = zext %7
result %8
-----------------------------------------------------------
; start LHS (in $_od_ec_decode_cdf_q15)
%0:i32 = var
%1 = xor %0, 31:i32
%2 = sub 15:i32, %1
%3 = sub %0, %2
%4 = and %3, 65535:i32
%5 = shl %4, 16:i32
%6 = ashr %5, 16:i32
%7 = slt 0:i32, %6
%8:i32 = zext %7
%9 = eq %8, 0:i32
infer %9
; RHS inferred successfully
%10:i32 = shl %0, 10:i32
%11:i32 = bswap %10
%12:i1 = trunc %11
result %12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment