[gdb/syscalls] Sync with strace v6.13
[binutils-gdb.git] / sim / testsuite / d10v / t-sub.s
blob57b99e68efe3c18cccd1ee9d8f7e7f88c212e124
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_sub s x y r c
12 ;; clear carry
13 ldi r6,#0x8004
14 mvtc r6,cr0
15 ;; subtract
16 ldi r10,#\x
17 ldi r11,#\y
18 sub r10, r11
19 ;; verify result
20 ldi r12, #\r
21 cmpeq r10, r12
22 brf0t 1f
23 ldi r6, 1
24 ldi r2, #\s
25 trap 15
27 ;; verify carry
28 mvfc r6, cr0
29 and3 r6, r6, #1
30 cmpeqi r6, #\c
31 brf0t 1f
32 ldi r6, 1
33 ldi r2, #\s
34 trap 15
36 .endm
38 check_sub 1 0x0000 0x0000 0x0000 1
39 check_sub 2 0x0000 0x0001 0xffff 0
40 check_sub 3 0x0001 0x0000 0x0001 1
41 check_sub 4 0x0001 0x0001 0x0000 1
42 check_sub 5 0x0000 0x8000 0x8000 0
43 check_sub 6 0x8000 0x0001 0x7fff 1
44 check_sub 7 0x7fff 0x7fff 0x0000 1
46 exit0