Daniel Cederman | c67b3ff | 2018-04-20 07:47:12 +0000 | [diff] [blame] | 1 | ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py |
| 2 | ; RUN: llc < %s -mtriple=sparc | FileCheck %s -check-prefix=SPARC |
| 3 | |
| 4 | ; Materializing constants |
| 5 | |
| 6 | define i32 @zero() nounwind { |
| 7 | ; SPARC-LABEL: zero: |
| 8 | ; SPARC: ! %bb.0: |
| 9 | ; SPARC-NEXT: retl |
| 10 | ; SPARC-NEXT: mov %g0, %o0 |
| 11 | ret i32 0 |
| 12 | } |
| 13 | |
| 14 | define i32 @pos_small() nounwind { |
| 15 | ; SPARC-LABEL: pos_small: |
| 16 | ; SPARC: ! %bb.0: |
| 17 | ; SPARC-NEXT: retl |
| 18 | ; SPARC-NEXT: mov 2047, %o0 |
| 19 | ret i32 2047 |
| 20 | } |
| 21 | |
| 22 | define i32 @neg_small() nounwind { |
| 23 | ; SPARC-LABEL: neg_small: |
| 24 | ; SPARC: ! %bb.0: |
| 25 | ; SPARC-NEXT: retl |
| 26 | ; SPARC-NEXT: mov -2047, %o0 |
| 27 | ret i32 -2047 |
| 28 | } |
| 29 | |
| 30 | define i32 @pos_i32() nounwind { |
| 31 | ; SPARC-LABEL: pos_i32: |
| 32 | ; SPARC: ! %bb.0: |
| 33 | ; SPARC-NEXT: sethi 1695242, %o0 |
| 34 | ; SPARC-NEXT: retl |
| 35 | ; SPARC-NEXT: or %o0, 751, %o0 |
| 36 | ret i32 1735928559 |
| 37 | } |
| 38 | |
| 39 | define i32 @neg_i32() nounwind { |
| 40 | ; SPARC-LABEL: neg_i32: |
| 41 | ; SPARC: ! %bb.0: |
| 42 | ; SPARC-NEXT: sethi 3648367, %o0 |
| 43 | ; SPARC-NEXT: retl |
| 44 | ; SPARC-NEXT: or %o0, 751, %o0 |
| 45 | ret i32 -559038737 |
| 46 | } |