James Molloy | 9991794 | 2014-08-06 13:31:32 +0000 | [diff] [blame] | 1 | ; RUN: llc -mtriple=aarch64-none-linux-gnu < %s -mcpu=cortex-a57 -aarch64-enable-early-ifcvt=false | FileCheck %s |
| 2 | |
Junmo Park | 161dc1c | 2016-02-25 00:23:27 +0000 | [diff] [blame] | 3 | ; Check that the select isn't expanded into a branch sequence |
| 4 | ; when the icmp's first operand %x0 is from load. |
James Molloy | 9991794 | 2014-08-06 13:31:32 +0000 | [diff] [blame] | 5 | define i64 @f(i64 %a, i64 %b, i64* %c, i64 %d, i64 %e) { |
Junmo Park | 161dc1c | 2016-02-25 00:23:27 +0000 | [diff] [blame] | 6 | ; CHECK: csel |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 7 | %x0 = load i64, i64* %c |
James Molloy | 9991794 | 2014-08-06 13:31:32 +0000 | [diff] [blame] | 8 | %x1 = icmp eq i64 %x0, 0 |
| 9 | %x2 = select i1 %x1, i64 %a, i64 %b |
| 10 | %x3 = add i64 %x2, %d |
| 11 | ret i64 %x3 |
| 12 | } |