Krzysztof Parzyszek | 5de5910 | 2016-04-21 18:56:45 +0000 | [diff] [blame] | 1 | ; RUN: llc -march=hexagon < %s | FileCheck %s |
Tony Linthicum | 1213a7a | 2011-12-12 21:14:40 +0000 | [diff] [blame] | 2 | |
| 3 | @num = external global i32 |
| 4 | @acc = external global i32 |
| 5 | @val = external global i32 |
| 6 | |
Krzysztof Parzyszek | 5b4a6b6 | 2017-02-06 23:18:57 +0000 | [diff] [blame] | 7 | ; CHECK-DAG: memw(gp+#num) |
| 8 | ; CHECK-DAG: memw(gp+#acc) |
| 9 | ; CHECK-DAG: memw(gp+#val) |
Tony Linthicum | 1213a7a | 2011-12-12 21:14:40 +0000 | [diff] [blame] | 10 | |
| 11 | define void @foo() nounwind { |
| 12 | entry: |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 13 | %0 = load i32, i32* @num, align 4 |
| 14 | %1 = load i32, i32* @acc, align 4 |
Tony Linthicum | 1213a7a | 2011-12-12 21:14:40 +0000 | [diff] [blame] | 15 | %mul = mul nsw i32 %0, %1 |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 16 | %2 = load i32, i32* @val, align 4 |
Tony Linthicum | 1213a7a | 2011-12-12 21:14:40 +0000 | [diff] [blame] | 17 | %add = add nsw i32 %mul, %2 |
| 18 | store i32 %add, i32* @num, align 4 |
| 19 | ret void |
| 20 | } |