Benjamin Kramer | 513e744 | 2014-02-20 13:36:32 +0000 | [diff] [blame] | 1 | // RUN: llvm-mc -triple i386-apple-darwin %s |
Daniel Dunbar | 75630b3 | 2009-06-30 02:10:03 +0000 | [diff] [blame] | 2 | |
Daniel Dunbar | 0c193ca | 2010-10-25 20:18:41 +0000 | [diff] [blame] | 3 | .macro check_expr |
| 4 | .if ($0) != ($1) |
| 5 | .abort Unexpected $0 != $1. |
| 6 | .endif |
| 7 | .endmacro |
Jim Grosbach | 3322f02 | 2011-08-20 16:10:09 +0000 | [diff] [blame] | 8 | |
Daniel Dunbar | 75630b3 | 2009-06-30 02:10:03 +0000 | [diff] [blame] | 9 | .text |
| 10 | g: |
| 11 | h: |
| 12 | j: |
Jim Grosbach | 3322f02 | 2011-08-20 16:10:09 +0000 | [diff] [blame] | 13 | k: |
Daniel Dunbar | 75630b3 | 2009-06-30 02:10:03 +0000 | [diff] [blame] | 14 | .data |
Daniel Dunbar | 0c193ca | 2010-10-25 20:18:41 +0000 | [diff] [blame] | 15 | check_expr !1 + 2, 2 |
| 16 | check_expr !0, 1 |
Daniel Dunbar | 95db1cc | 2010-10-25 20:18:49 +0000 | [diff] [blame] | 17 | check_expr ~0, -1 |
| 18 | check_expr -1, ~0 |
Daniel Dunbar | 0c193ca | 2010-10-25 20:18:41 +0000 | [diff] [blame] | 19 | check_expr +1, 1 |
| 20 | check_expr 1 + 2, 3 |
| 21 | check_expr 1 & 3, 1 |
Daniel Dunbar | 7484d2c | 2010-10-25 20:18:53 +0000 | [diff] [blame] | 22 | check_expr 4 / 2, 2 |
| 23 | check_expr 4 / -2, -2 |
Bill Wendling | 2a30221 | 2018-05-14 05:25:36 +0000 | [diff] [blame^] | 24 | check_expr 1 == 1, -1 |
Daniel Dunbar | 0c193ca | 2010-10-25 20:18:41 +0000 | [diff] [blame] | 25 | check_expr 1 == 0, 0 |
Bill Wendling | 2a30221 | 2018-05-14 05:25:36 +0000 | [diff] [blame^] | 26 | check_expr 1 > 0, -1 |
| 27 | check_expr 1 >= 1, -1 |
| 28 | check_expr 1 < 2, -1 |
| 29 | check_expr 1 <= 1, -1 |
Daniel Dunbar | 0c193ca | 2010-10-25 20:18:41 +0000 | [diff] [blame] | 30 | check_expr 4 % 3, 1 |
| 31 | check_expr 2 * 2, 4 |
| 32 | check_expr 2 != 2, 0 |
| 33 | check_expr 2 <> 2, 0 |
| 34 | check_expr 1 | 2, 3 |
| 35 | check_expr 1 << 1, 2 |
| 36 | check_expr 2 >> 1, 1 |
Ahmed Bougacha | 4a85643 | 2015-11-11 00:51:36 +0000 | [diff] [blame] | 37 | check_expr (~0 >> 62), 3 |
Daniel Dunbar | 0c193ca | 2010-10-25 20:18:41 +0000 | [diff] [blame] | 38 | check_expr 3 - 2, 1 |
| 39 | check_expr 1 ^ 3, 2 |
| 40 | check_expr 1 && 2, 1 |
| 41 | check_expr 3 && 0, 0 |
| 42 | check_expr 0 && 1, 0 |
| 43 | check_expr 1 || 2, 1 |
| 44 | check_expr 0 || 1, 1 |
| 45 | check_expr 0 || 0, 0 |
Bill Wendling | 2a30221 | 2018-05-14 05:25:36 +0000 | [diff] [blame^] | 46 | check_expr 1 + 2 < 3 + 4, -1 |
Jim Grosbach | bd16424 | 2011-08-20 16:24:13 +0000 | [diff] [blame] | 47 | check_expr 1 << 8 - 1, 128 |
Kevin Enderby | ca08df7 | 2013-05-07 21:40:58 +0000 | [diff] [blame] | 48 | check_expr 3 * 9 - 2 * 9 + 1, 10 |
Jim Grosbach | 3322f02 | 2011-08-20 16:10:09 +0000 | [diff] [blame] | 49 | |
Daniel Dunbar | 7e8d6c7 | 2009-06-29 20:37:27 +0000 | [diff] [blame] | 50 | .set c, 10 |
Daniel Dunbar | 0c193ca | 2010-10-25 20:18:41 +0000 | [diff] [blame] | 51 | check_expr c + 1, 11 |
Daniel Dunbar | 75630b3 | 2009-06-30 02:10:03 +0000 | [diff] [blame] | 52 | |
| 53 | d = e + 10 |
| 54 | .long d |
| 55 | |
| 56 | f = g - h + 5 |
| 57 | .long f |
| 58 | |
| 59 | i = (j + 10) - (k + 2) |
| 60 | .long i |
Jim Grosbach | 3322f02 | 2011-08-20 16:10:09 +0000 | [diff] [blame] | 61 | |
Daniel Dunbar | 8561b6a | 2009-06-30 22:49:27 +0000 | [diff] [blame] | 62 | l = m - n + 4 |
Jim Grosbach | 3322f02 | 2011-08-20 16:10:09 +0000 | [diff] [blame] | 63 | |
Daniel Dunbar | 8561b6a | 2009-06-30 22:49:27 +0000 | [diff] [blame] | 64 | .text |
| 65 | m: |
| 66 | n: |
| 67 | nop |
Jim Grosbach | 3322f02 | 2011-08-20 16:10:09 +0000 | [diff] [blame] | 68 | |
| 69 | |
Chris Lattner | 807a3bc | 2010-01-24 01:07:33 +0000 | [diff] [blame] | 70 | movw $8, (42)+66(%eax) |
Chris Lattner | 6b55cb9 | 2010-04-14 04:40:28 +0000 | [diff] [blame] | 71 | |
| 72 | // "." support: |
| 73 | _f0: |
| 74 | L0: |
| 75 | jmp L1 |
| 76 | .long . - L0 |
| 77 | L1: |
| 78 | jmp A |
| 79 | .long . - L1 |