PR32663, ld buffer overflow reading .debug_info
[binutils-gdb.git] / sim / testsuite / d10v / t-sub2w.s
blob5e8daee3518601ee6d641ad41e87023afa66d630
1 # mach: all
2 # output:
3 # sim: --environment operating
5 .include "t-macros.i"
7 start
9 ;; The d10v implements negated addition for subtraction
11 .macro check_sub2w s x y r c v
13 ;; clear carry
14 ldi r6,#0x8004
15 mvtc r6,cr0
17 ;; load opnds
18 ld2w r6, @(1f,r0)
19 ld2w r8, @(2f,r0)
20 .data
21 1: .long \x
22 2: .long \y
23 .text
25 ;; subtract
26 SUB2W r6, r8
28 ;; verify result
29 ld2w r10, @(1f,r0)
30 .data
31 1: .long \r
32 .text
33 cmpeq r6, r10
34 brf0f 2f
35 cmpeq r7, r11
36 brf0t 3f
37 2: ldi r4, 1
38 ldi r0, \s
39 trap 15
42 ;; verify carry
43 mvfc r6, cr0
44 and3 r6, r6, #1
45 cmpeqi r6, #\c
46 brf0t 1f
47 ldi r4, 1
48 ldi r0, \s
49 trap 15
51 .endm
53 check_sub2w 1 0x00000000 0x00000000 0x00000000 1 0
54 check_sub2w 2 0x00000000 0x00000001 0xffffffff 0 0
55 check_sub2w 3 0x00000001 0x00000000 0x00000001 1 0
56 check_sub2w 3 0x00000001 0x00000001 0x00000000 1 0
57 check_sub2w 5 0x00000000 0x80000000 0x80000000 0 1
58 check_sub2w 6 0x80000000 0x00000001 0x7fffffff 1 1
59 check_sub2w 7 0x7fffffff 0x7fffffff 0x00000000 1 0
61 exit0