Krzysztof Parzyszek | 0bbad0f | 2016-08-10 18:05:47 +0000 | [diff] [blame] | 1 | ; RUN: llc -march=hexagon -hexagon-small-data-threshold=0 < %s | FileCheck %s |
Jyotsna Verma | 5eb5980 | 2013-05-07 19:53:00 +0000 | [diff] [blame] | 2 | |
Krzysztof Parzyszek | 0bbad0f | 2016-08-10 18:05:47 +0000 | [diff] [blame] | 3 | ; Check that CONST32/CONST64 instructions are 'not' generated when the |
| 4 | ; small data threshold is set to 0. |
Jyotsna Verma | 5eb5980 | 2013-05-07 19:53:00 +0000 | [diff] [blame] | 5 | |
Jyotsna Verma | 5eb5980 | 2013-05-07 19:53:00 +0000 | [diff] [blame] | 6 | @a = external global i32 |
| 7 | @b = external global i32 |
| 8 | @la = external global i64 |
| 9 | @lb = external global i64 |
| 10 | |
Krzysztof Parzyszek | 0bbad0f | 2016-08-10 18:05:47 +0000 | [diff] [blame] | 11 | ; CHECK-LABEL: test1: |
Krzysztof Parzyszek | 6acecc9 | 2017-11-22 20:43:00 +0000 | [diff] [blame] | 12 | ; CHECK-NOT: CONST32 |
Krzysztof Parzyszek | 0bbad0f | 2016-08-10 18:05:47 +0000 | [diff] [blame] | 13 | define void @test1() nounwind { |
Jyotsna Verma | 5eb5980 | 2013-05-07 19:53:00 +0000 | [diff] [blame] | 14 | entry: |
Krzysztof Parzyszek | 0bbad0f | 2016-08-10 18:05:47 +0000 | [diff] [blame] | 15 | br label %block |
| 16 | block: |
Jyotsna Verma | 5eb5980 | 2013-05-07 19:53:00 +0000 | [diff] [blame] | 17 | store i32 12345670, i32* @a, align 4 |
Krzysztof Parzyszek | 0bbad0f | 2016-08-10 18:05:47 +0000 | [diff] [blame] | 18 | %q = ptrtoint i8* blockaddress (@test1, %block) to i32 |
| 19 | store i32 %q, i32* @b, align 4 |
Jyotsna Verma | 5eb5980 | 2013-05-07 19:53:00 +0000 | [diff] [blame] | 20 | ret void |
| 21 | } |
| 22 | |
Krzysztof Parzyszek | 0bbad0f | 2016-08-10 18:05:47 +0000 | [diff] [blame] | 23 | ; CHECK-LABEL: test2: |
Jyotsna Verma | 5eb5980 | 2013-05-07 19:53:00 +0000 | [diff] [blame] | 24 | ; CHECK-NOT: CONST64 |
Krzysztof Parzyszek | 0bbad0f | 2016-08-10 18:05:47 +0000 | [diff] [blame] | 25 | define void @test2() nounwind { |
Jyotsna Verma | 5eb5980 | 2013-05-07 19:53:00 +0000 | [diff] [blame] | 26 | entry: |
| 27 | store i64 1234567890123, i64* @la, align 8 |
| 28 | store i64 1234567890123, i64* @lb, align 8 |
| 29 | ret void |
| 30 | } |