OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gdb-6.8/] [pre-binutils-2.20.1-sync/] [sim/] [testsuite/] [d10v-elf/] [t-sub.s] - Diff between revs 157 and 223

Only display areas with differences | Details | Blame | View Log

Rev 157 Rev 223
.include "t-macros.i"
.include "t-macros.i"
 
 
        start
        start
 
 
;;  The d10v implements negated addition for subtraction
;;  The d10v implements negated addition for subtraction
 
 
        .macro check_sub s x y r c
        .macro check_sub s x y r c
        ;; clear carry
        ;; clear carry
        ldi     r6,#0x8004
        ldi     r6,#0x8004
        mvtc    r6,cr0
        mvtc    r6,cr0
        ;; subtract
        ;; subtract
        ldi     r10,#\x
        ldi     r10,#\x
        ldi     r11,#\y
        ldi     r11,#\y
        sub     r10, r11
        sub     r10, r11
        ;; verify result
        ;; verify result
        ldi     r12, #\r
        ldi     r12, #\r
        cmpeq   r10, r12
        cmpeq   r10, r12
        brf0t   1f
        brf0t   1f
        ldi     r6, 1
        ldi     r6, 1
        ldi     r2, #\s
        ldi     r2, #\s
        trap    15
        trap    15
1:
1:
        ;; verify carry
        ;; verify carry
        mvfc    r6, cr0
        mvfc    r6, cr0
        and3    r6, r6, #1
        and3    r6, r6, #1
        cmpeqi  r6, #\c
        cmpeqi  r6, #\c
        brf0t   1f
        brf0t   1f
        ldi     r6, 1
        ldi     r6, 1
        ldi     r2, #\s
        ldi     r2, #\s
        trap    15
        trap    15
1:
1:
        .endm
        .endm
 
 
check_sub 1 0x0000 0x0000  0x0000  1
check_sub 1 0x0000 0x0000  0x0000  1
check_sub 2 0x0000 0x0001  0xffff  0
check_sub 2 0x0000 0x0001  0xffff  0
check_sub 3 0x0001 0x0000  0x0001  1
check_sub 3 0x0001 0x0000  0x0001  1
check_sub 4 0x0001 0x0001  0x0000  1
check_sub 4 0x0001 0x0001  0x0000  1
check_sub 5 0x0000 0x8000  0x8000  0
check_sub 5 0x0000 0x8000  0x8000  0
check_sub 6 0x8000 0x0001  0x7fff  1
check_sub 6 0x8000 0x0001  0x7fff  1
check_sub 7 0x7fff 0x7fff  0x0000  1
check_sub 7 0x7fff 0x7fff  0x0000  1
 
 
        exit0
        exit0
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.