Currently, the integer immediate is legalized to a 64-bit integer register first, and then the lower/upper parts of that register are used for the bitcast. However, mov(64_bit_reg, imm) done by the legalization isn't legal. Similarly, trunc of 64-bit immediates need to take the lower half of the immediate, not legalize to a var first. This shifts the legalization code around. Other cases where immediates are illegal and legalized are idiv/div, but for those cases 64-bit operands are handled separately via a function call. The function call code properly splits up immediate arguments. BUG=none R=stichnot@chromium.org Review URL: https://codereview.chromium.org/348373005
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| 64bit.pnacl.ll | Loading commit data... | |
| alloc.ll | Loading commit data... | |
| arith-opt.ll | Loading commit data... | |
| arithmetic-chain.ll | Loading commit data... | |
| bitcast.ll | Loading commit data... | |
| bool-opt.ll | Loading commit data... | |
| branch-simple.ll | Loading commit data... | |
| call.ll | Loading commit data... | |
| callindirect.pnacl.ll | Loading commit data... | |
| casts.ll | Loading commit data... | |
| cmp-opt.ll | Loading commit data... | |
| convert.ll | Loading commit data... | |
| div_legalization.ll | Loading commit data... | |
| ebp_args.ll | Loading commit data... | |
| empty-func.ll | Loading commit data... | |
| fp.pnacl.ll | Loading commit data... | |
| fpconst.pnacl.ll | Loading commit data... | |
| global.ll | Loading commit data... | |
| icmp-simple.ll | Loading commit data... | |
| load.ll | Loading commit data... | |
| mangle.ll | Loading commit data... | |
| nacl-other-intrinsics.ll | Loading commit data... | |
| return-int-arg.ll | Loading commit data... | |
| select-opt.ll | Loading commit data... | |
| shift.ll | Loading commit data... | |
| simple-loop.ll | Loading commit data... | |
| store.ll | Loading commit data... | |
| struct-arith.pnacl.ll | Loading commit data... | |
| switch-opt.ll | Loading commit data... | |
| undef.ll | Loading commit data... | |
| unreachable.ll | Loading commit data... |