summaryrefslogtreecommitdiff
path: root/js/src/lirasm/tests/mulov_xxx.in
blob: 97d2fd755b320b423cf972e82cf98eb16df8bc47 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
; 46341 * 46341 >= 2^31, and will overflow.
big = immi 46341

; Because 'big' isn't used after mul, it _may_ get allocated to the same
; register as 'res'. This is the case with the ARM back-end, and that is where
; this test is important as rX=rX*rX isn't possible on ARMv5 without some
; trickery.
res = mulxovi big big    ; overflow, so we exit here

; Store 'res' so it isn't dead.
m = allocp 4
sti res m 0
x                       ; we don't exit here