Home | History | Annotate | Line # | Download | only in gdb.arch
      1 ; This testcase is part of GDB, the GNU debugger.
      2 
      3 ; Copyright 2024 Free Software Foundation, Inc.
      4 
      5 ; This program is free software; you can redistribute it and/or modify
      6 ; it under the terms of the GNU General Public License as published by
      7 ; the Free Software Foundation; either version 3 of the License, or
      8 ; (at your option) any later version.
      9 ;
     10 ; This program is distributed in the hope that it will be useful,
     11 ; but WITHOUT ANY WARRANTY; without even the implied warranty of
     12 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13 ; GNU General Public License for more details.
     14 ;
     15 ; You should have received a copy of the GNU General Public License
     16 ; along with this program. If not, see <http://www.gnu.org/licenses/>.
     17 
     18 	.section .text
     19 	.align 4
     20 	.global main
     21 	.type main, @function
     22 
     23 main:
     24 	mov r0,1
     25 dbnz1:
     26 	; r0 == 0 after decrementing. dbnz doesn't do branch.
     27 	dbnz r0,@end
     28 
     29 	mov r0,5
     30 dbnz2:
     31 	; r0 == 3 after decrementing and delay slot. dbnz does branch.
     32 	dbnz.d r0,@dbnz3
     33 	sub r0,r0,1
     34 
     35 dbnz4:
     36 	; r0 == 1 after decrementing. dbnz does branch.
     37 	dbnz r0,@end
     38 
     39 dbnz3:
     40 	; r0 == 2 after decrementing. dbnz does branch.
     41 	dbnz r0,@dbnz4
     42 
     43 end:
     44 	mov r0,0
     45 	j [blink]
     46 
     47 	.section .note.GNU-stack,"",@progbits
     48