Dan Gohman | 0a06310 | 2009-09-08 23:54:48 +0000 | [diff] [blame^] | 1 | ; RUN: llc < %s -march=x86-64 | FileCheck %s |
Dan Gohman | 0cee5f4 | 2009-08-06 09:18:59 +0000 | [diff] [blame] | 2 | ; CHECK: movq $-65535, %rax |
3 | |||||
4 | ; DAGCombiner should fold this to a simple constant. | ||||
5 | |||||
6 | define i64 @foo(i192 %a) nounwind { | ||||
7 | %t = or i192 %a, -22300404916163702203072254898040925442801665 | ||||
8 | %s = and i192 %t, -22300404916163702203072254898040929737768960 | ||||
9 | %u = lshr i192 %s, 128 | ||||
10 | %v = trunc i192 %u to i64 | ||||
11 | ret i64 %v | ||||
12 | } |