1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple i386-apple-darwin %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker.macro check_expr 4*9880d681SAndroid Build Coastguard Worker .if ($0) != ($1) 5*9880d681SAndroid Build Coastguard Worker .abort Unexpected $0 != $1. 6*9880d681SAndroid Build Coastguard Worker .endif 7*9880d681SAndroid Build Coastguard Worker.endmacro 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Worker .text 10*9880d681SAndroid Build Coastguard Workerg: 11*9880d681SAndroid Build Coastguard Workerh: 12*9880d681SAndroid Build Coastguard Workerj: 13*9880d681SAndroid Build Coastguard Workerk: 14*9880d681SAndroid Build Coastguard Worker .data 15*9880d681SAndroid Build Coastguard Worker check_expr !1 + 2, 2 16*9880d681SAndroid Build Coastguard Worker check_expr !0, 1 17*9880d681SAndroid Build Coastguard Worker check_expr ~0, -1 18*9880d681SAndroid Build Coastguard Worker check_expr -1, ~0 19*9880d681SAndroid Build Coastguard Worker check_expr +1, 1 20*9880d681SAndroid Build Coastguard Worker check_expr 1 + 2, 3 21*9880d681SAndroid Build Coastguard Worker check_expr 1 & 3, 1 22*9880d681SAndroid Build Coastguard Worker check_expr 4 / 2, 2 23*9880d681SAndroid Build Coastguard Worker check_expr 4 / -2, -2 24*9880d681SAndroid Build Coastguard Worker check_expr 1 == 1, 1 25*9880d681SAndroid Build Coastguard Worker check_expr 1 == 0, 0 26*9880d681SAndroid Build Coastguard Worker check_expr 1 > 0, 1 27*9880d681SAndroid Build Coastguard Worker check_expr 1 >= 1, 1 28*9880d681SAndroid Build Coastguard Worker check_expr 1 < 2, 1 29*9880d681SAndroid Build Coastguard Worker check_expr 1 <= 1, 1 30*9880d681SAndroid Build Coastguard Worker check_expr 4 % 3, 1 31*9880d681SAndroid Build Coastguard Worker check_expr 2 * 2, 4 32*9880d681SAndroid Build Coastguard Worker check_expr 2 != 2, 0 33*9880d681SAndroid Build Coastguard Worker check_expr 2 <> 2, 0 34*9880d681SAndroid Build Coastguard Worker check_expr 1 | 2, 3 35*9880d681SAndroid Build Coastguard Worker check_expr 1 << 1, 2 36*9880d681SAndroid Build Coastguard Worker check_expr 2 >> 1, 1 37*9880d681SAndroid Build Coastguard Worker check_expr (~0 >> 62), 3 38*9880d681SAndroid Build Coastguard Worker check_expr 3 - 2, 1 39*9880d681SAndroid Build Coastguard Worker check_expr 1 ^ 3, 2 40*9880d681SAndroid Build Coastguard Worker check_expr 1 && 2, 1 41*9880d681SAndroid Build Coastguard Worker check_expr 3 && 0, 0 42*9880d681SAndroid Build Coastguard Worker check_expr 0 && 1, 0 43*9880d681SAndroid Build Coastguard Worker check_expr 1 || 2, 1 44*9880d681SAndroid Build Coastguard Worker check_expr 0 || 1, 1 45*9880d681SAndroid Build Coastguard Worker check_expr 0 || 0, 0 46*9880d681SAndroid Build Coastguard Worker check_expr 1 + 2 < 3 + 4, 1 47*9880d681SAndroid Build Coastguard Worker check_expr 1 << 8 - 1, 128 48*9880d681SAndroid Build Coastguard Worker check_expr 3 * 9 - 2 * 9 + 1, 10 49*9880d681SAndroid Build Coastguard Worker 50*9880d681SAndroid Build Coastguard Worker .set c, 10 51*9880d681SAndroid Build Coastguard Worker check_expr c + 1, 11 52*9880d681SAndroid Build Coastguard Worker 53*9880d681SAndroid Build Coastguard Worker d = e + 10 54*9880d681SAndroid Build Coastguard Worker .long d 55*9880d681SAndroid Build Coastguard Worker 56*9880d681SAndroid Build Coastguard Worker f = g - h + 5 57*9880d681SAndroid Build Coastguard Worker .long f 58*9880d681SAndroid Build Coastguard Worker 59*9880d681SAndroid Build Coastguard Worker i = (j + 10) - (k + 2) 60*9880d681SAndroid Build Coastguard Worker .long i 61*9880d681SAndroid Build Coastguard Worker 62*9880d681SAndroid Build Coastguard Worker l = m - n + 4 63*9880d681SAndroid Build Coastguard Worker 64*9880d681SAndroid Build Coastguard Worker .text 65*9880d681SAndroid Build Coastguard Workerm: 66*9880d681SAndroid Build Coastguard Workern: 67*9880d681SAndroid Build Coastguard Worker nop 68*9880d681SAndroid Build Coastguard Worker 69*9880d681SAndroid Build Coastguard Worker 70*9880d681SAndroid Build Coastguard Worker movw $8, (42)+66(%eax) 71*9880d681SAndroid Build Coastguard Worker 72*9880d681SAndroid Build Coastguard Worker// "." support: 73*9880d681SAndroid Build Coastguard Worker_f0: 74*9880d681SAndroid Build Coastguard WorkerL0: 75*9880d681SAndroid Build Coastguard Worker jmp L1 76*9880d681SAndroid Build Coastguard Worker .long . - L0 77*9880d681SAndroid Build Coastguard WorkerL1: 78*9880d681SAndroid Build Coastguard Worker jmp A 79*9880d681SAndroid Build Coastguard Worker .long . - L1 80