OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-6.8/] [sim/] [testsuite/] [sim/] [frv/] [interrupts/] [badalign-fr550.cgs] - Diff between revs 24 and 157

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

Rev 24 Rev 157
# frv testcase to generate interrupt for st $GRk,@($GRi,$GRj)
# frv testcase to generate interrupt for st $GRk,@($GRi,$GRj)
# mach: fr550
# mach: fr550
        .include "testutils.inc"
        .include "testutils.inc"
        start
        start
        .global align
        .global align
align:
align:
        and_spr_immed   -4081,tbr               ; clear tbr.tt
        and_spr_immed   -4081,tbr               ; clear tbr.tt
        set_gr_spr      tbr,gr17
        set_gr_spr      tbr,gr17
        inc_gr_immed    0x100,gr17              ; address of exception handler
        inc_gr_immed    0x100,gr17              ; address of exception handler
        set_bctrlr_0_0  gr17
        set_bctrlr_0_0  gr17
        set_spr_immed   128,lcr
        set_spr_immed   128,lcr
        set_psr_et      1
        set_psr_et      1
        set_gr_immed    0xdeadbeef,gr17
        set_gr_immed    0xdeadbeef,gr17
        set_gr_immed    0,gr15
        set_gr_immed    0,gr15
        inc_gr_immed    2,sp            ; out of alignment
        inc_gr_immed    2,sp            ; out of alignment
        test_spr_bits   1,0,0,isr       ; ISR.EMAM always clear (not used)
        test_spr_bits   1,0,0,isr       ; ISR.EMAM always clear (not used)
        sti             gr17,@(sp,0)    ; no exception
        sti             gr17,@(sp,0)    ; no exception
        sti             gr17,@(sp,4)    ; no exception
        sti             gr17,@(sp,4)    ; no exception
        ldi             @(sp,0),gr18    ; stored at unaligned address
        ldi             @(sp,0),gr18    ; stored at unaligned address
        test_gr_immed   0xdeadbeef,gr18
        test_gr_immed   0xdeadbeef,gr18
        ldi             @(sp,0),gr19    ; no exception
        ldi             @(sp,0),gr19    ; no exception
        test_gr_immed   0xdeadbeef,gr19
        test_gr_immed   0xdeadbeef,gr19
        and_spr_immed   0xfffffffe,isr  ; turn off ISR.EMAM
        and_spr_immed   0xfffffffe,isr  ; turn off ISR.EMAM
        sti             gr17,@(sp,0)    ; misaligned -- no exception
        sti             gr17,@(sp,0)    ; misaligned -- no exception
        test_gr_immed   0,gr15
        test_gr_immed   0,gr15
        set_gr_gr       sp,gr20
        set_gr_gr       sp,gr20
        set_gr_immed    1,gr21
        set_gr_immed    1,gr21
        set_gr_immed    0x10101010,gr10
        set_gr_immed    0x10101010,gr10
        nop.p
        nop.p
        ldu             @(sp,gr21),gr10 ; misaligned read  no exception
        ldu             @(sp,gr21),gr10 ; misaligned read  no exception
        test_gr_immed   0,gr15          ; handler was not called
        test_gr_immed   0,gr15          ; handler was not called
        test_gr_immed   0xadbeefde,gr10 ; gr10 updated
        test_gr_immed   0xadbeefde,gr10 ; gr10 updated
        test_gr_immed   1,gr21          ; gr21 not updated
        test_gr_immed   1,gr21          ; gr21 not updated
        inc_gr_immed    1,gr20
        inc_gr_immed    1,gr20
        test_gr_gr      gr20,sp         ; sp updated
        test_gr_gr      gr20,sp         ; sp updated
        pass
        pass
 
 

powered by: WebSVN 2.1.0

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