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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [binutils-2.18.50/] [gas/] [testsuite/] [gas/] [cris/] [unop.s] - Rev 38

Go to most recent revision | Compare with Previous | Blame | View Log

; @OC@ test
; Generic unary operations supporting all sizes and their various
; addressing modes.
 
; Some fairly big pseudorandom numbers we don't want to compute
; as differences in actual data or code.
 
 .set const_int_32, 0x1b94452b
 .set const_int_m32, -3513208907
 .set two701867, 2701867
 
; Other constants that are not differences
 .set forty2, 42
 .set mforty2, -42
 
 .set three2767, 32767
 .set six5535, 65535
 
 .text
 .syntax no_register_prefix
notstart:
 .dword 0
 
start:
 
;;;;;;;;;;;;;;;;;
;
; r
 @OC@.b r3
 @OC@.w r5
 @OC@.d r10
 
 @OC@ r7
 @OC@ r6
 
;;;;;;;;;;;;;;;;;
;
; [r]
 @OC@.b [r0]
 @OC@.w [r5]
 @OC@.d [r10]
 
 @OC@ [r0]
 @OC@ [r3]
 
;;;;;;;;;;;;;;;;;
;
; [r+]
 @OC@.b [r0+]
 @OC@.w [r5+]
 @OC@.d [r10+]
 
 @OC@ [r4+]
 @OC@ [r1+]
 
;;;;;;;;;;;;;;;;;
;
; [r+X]
 
; [r+r.b]
 
 @OC@.b [r2+r0.b]
 @OC@.w [r2+r5.b]
 @OC@.d [r2+r10.b]
 
 @OC@ [r11+r13.b]
 @OC@ [r2+r10.b]
 
; [r+[r].b]
 @OC@.b [r2+[r0].b]
 @OC@.w [r2+[r5].b]
 @OC@.d [r2+[r10].b]
 
 @OC@ [r12+[r5].b]
 @OC@ [r13+[r10].b]
 
; [r+[r+].b]
 @OC@.b [r2+[r0+].b]
 @OC@.w [r2+[r5+].b]
 @OC@.d [r2+[r10+].b]
 
 @OC@ [r2+[r13+].b]
 @OC@ [r12+[r0+].b]
 
; [r+r.w]
 
 @OC@.b [r2+r0.w]
 @OC@.w [r2+r5.w]
 @OC@.d [r2+r10.w]
 
 @OC@ [r5+r11.w]
 @OC@ [r1+r1.w]
 
; [r+[r].w]
 @OC@.b [r2+[r0].w]
 @OC@.w [r2+[r5].w]
 @OC@.d [r2+[r10].w]
 
 @OC@ [r0+[r0].w]
 @OC@ [r2+[r7].w]
 
; [r+[r+].w]
 @OC@.b [r2+[r0+].w]
 @OC@.w [r2+[r5+].w]
 @OC@.d [r2+[r10+].w]
 
 @OC@ [r2+[r3+].w]
 @OC@ [r7+[r8+].w]
 
; [r+r.d]
 
 @OC@.b [r2+r0.d]
 @OC@.w [r2+r5.d]
 @OC@.d [r2+r10.d]
 
 @OC@ [r2+r5.d]
 @OC@ [r3+r10.d]
 
; [r+[r].d]
 @OC@.b [r2+[r0].d]
 @OC@.w [r2+[r5].d]
 @OC@.d [r2+[r10].d]
 
 @OC@ [r5+[r2].d]
 @OC@ [r12+[r10].d]
 
; [r+[r+].d]
 @OC@.b [r2+[r0+].d]
 @OC@.w [r2+[r5+].d]
 @OC@.d [r2+[r10+].d]
 
 @OC@ [r1+[r5+].d]
 @OC@ [r2+[r10+].d]
 
; [r+const]
 
; Note that I forgot 16-bit offsets and 32-bit offsets here and later.
; Maybe add them later if it feels necessary.
 
 @OC@.b [r2+0]
 @OC@.b [r2+1]
 @OC@.b [r2+127]
 @OC@.b [r2+128]
 @OC@.b [r2+-1]
 @OC@.b [r2+-127]
 @OC@.b [r2+-128]
 @OC@.b [r2+255]
 
 @OC@.b [r2+42]
 @OC@.b [r2+-42]
 @OC@.b [r2-42]
 @OC@.b [r2+forty2]
 @OC@.b [r2+mforty2]
 @OC@.b [r2+-forty2]
 @OC@.b [r2+-mforty2]
 @OC@.b [r2-forty2]
 @OC@.b [r2-mforty2]
 @OC@.b [r2+externalsym]
 
; Note that I missed 32-bit offsets (except -32769) here and later.
; Maybe add them later if it feels necessary.
 
 @OC@.w [r2+0]
 @OC@.w [r2+1]
 @OC@.w [r2+127]
 @OC@.w [r2+128]
 @OC@.w [r2+-1]
 @OC@.w [r2-1]
 @OC@.w [r2+-127]
 @OC@.w [r2+-128]
 @OC@.w [r2+-129]
 @OC@.w [r2-127]
 @OC@.w [r2-128]
 @OC@.w [r2-129]
 @OC@.w [r2+255]
 @OC@.w [r2+-255]
 @OC@.w [r2-255]
 @OC@.w [r2+256]
 @OC@.w [r2-256]
 @OC@.w [r2+-8856]
 @OC@.w [r2-8856]
 @OC@.w [r2+8856]
 
 @OC@.w [r2+42]
 @OC@.w [r2+-42]
 @OC@.w [r2-42]
 @OC@.w [r2+forty2]
 @OC@.w [r2+mforty2]
 @OC@.w [r2+-forty2]
 @OC@.w [r2-forty2]
 @OC@.w [r2+-mforty2]
 
 @OC@.w [r2+three2767]
 @OC@.w [r2+three2767+1]
 @OC@.w [r2+three2767+2]
 @OC@.w [r2+-three2767]
 @OC@.w [r2+-(three2767+1)]
 @OC@.w [r2+-(three2767+2)]
 @OC@.w [r2-three2767]
 @OC@.w [r2-(three2767+1)]
 @OC@.w [r2-(three2767+2)]
 @OC@.w [r2+six5535]
 @OC@.w [r2+externalsym]
 
 @OC@.d [r2+0]
 @OC@.d [r2+1]
 @OC@.d [r2+127]
 @OC@.d [r2+128]
 @OC@.d [r2+-1]
 @OC@.d [r2-1]
 @OC@.d [r2+-127]
 @OC@.d [r2+-128]
 @OC@.d [r2-127]
 @OC@.d [r2-128]
 @OC@.d [r2+255]
 @OC@.d [r2+-255]
 @OC@.d [r2-255]
 @OC@.d [r2+256]
 @OC@.d [r2-256]
 @OC@.d [r2-8856]
 @OC@.d [r2+-256]
 @OC@.d [r2+-8856]
 @OC@.d [r2+8856]
 
 @OC@.d [r2+2781868]
 @OC@.d [r2+-2701867]
 
 @OC@.d [r2+0x9ec0ceac]
 @OC@.d [r2+-0x7ec0cead]
 @OC@.d [r2-0x7ec0cead]
 @OC@.d [r2+const_int_m32]
 @OC@.d [r2+const_int_32]
 
 @OC@.d [r2+42]
 @OC@.d [r2-42]
 @OC@.d [r2+-42]
 @OC@.d [r2+forty2]
 @OC@.d [r2+mforty2]
 @OC@.d [r2-forty2]
 @OC@.d [r2-mforty2]
 @OC@.d [r2+-forty2]
 @OC@.d [r2+-mforty2]
 
 @OC@.d [r2+three2767]
 @OC@.d [r2+three2767+1]
 @OC@.d [r2+three2767+2]
 @OC@.d [r2+-three2767]
 @OC@.d [r2+-(three2767+1)]
 @OC@.d [r2+-(three2767+2)]
 @OC@.d [r2-three2767]
 @OC@.d [r2-(three2767+1)]
 @OC@.d [r2-(three2767+2)]
 @OC@.d [r2+six5535]
 @OC@.d [r2+six5535+1]
 @OC@.d [r2+two701867]
 @OC@.d [r2+-two701867]
 @OC@.d [r2-two701867]
 
 @OC@.d [r2+externalsym]
 
 @OC@ [r2+0]
 @OC@ [r2+1]
 @OC@ [r2+127]
 @OC@ [r2+128]
 @OC@ [r2+-1]
 @OC@ [r2-1]
 @OC@ [r2+-127]
 @OC@ [r2+-128]
 @OC@ [r2-127]
 @OC@ [r2-128]
 @OC@ [r2+255]
 @OC@ [r2+-255]
 @OC@ [r2-255]
 @OC@ [r2+256]
 @OC@ [r2-256]
 @OC@ [r2-8856]
 @OC@ [r2+-256]
 @OC@ [r2+-8856]
 @OC@ [r2+8856]
 
 @OC@ [r2+2781868]
 @OC@ [r2+-2701867]
 
 @OC@ [r2+0x9ec0ceac]
 @OC@ [r2+-0x7ec0cead]
 @OC@ [r2-0x7ec0cead]
 @OC@ [r2+const_int_m32]
 @OC@ [r2+const_int_32]
 
 @OC@ [r2+42]
 @OC@ [r2-42]
 @OC@ [r2+-42]
 @OC@ [r2+forty2]
 @OC@ [r2+mforty2]
 @OC@ [r2-forty2]
 @OC@ [r2-mforty2]
 @OC@ [r2+-forty2]
 @OC@ [r2+-mforty2]
 
 @OC@ [r2+three2767]
 @OC@ [r2+three2767+1]
 @OC@ [r2+three2767+2]
 @OC@ [r2+-three2767]
 @OC@ [r2+-(three2767+1)]
 @OC@ [r2+-(three2767+2)]
 @OC@ [r2-three2767]
 @OC@ [r2-(three2767+1)]
 @OC@ [r2-(three2767+2)]
 @OC@ [r2+six5535]
 @OC@ [r2+six5535+1]
 @OC@ [r2+two701867]
 @OC@ [r2+-two701867]
 @OC@ [r2-two701867]
 
 @OC@ [r2+externalsym]
 
 @OC@ [r2+0]
 @OC@ [r2+1]
 @OC@ [r2+127]
 @OC@ [r2+128]
 @OC@ [r2+-1]
 @OC@ [r2-1]
 @OC@ [r2+-127]
 @OC@ [r2+-128]
 @OC@ [r2-127]
 @OC@ [r2-128]
 @OC@ [r2+255]
 @OC@ [r2+-255]
 @OC@ [r2-255]
 @OC@ [r2+256]
 @OC@ [r2-256]
 @OC@ [r2-8856]
 @OC@ [r2+-256]
 @OC@ [r2+-8856]
 @OC@ [r2+8856]
 
 @OC@ [r2+2781868]
 @OC@ [r2+-2701867]
 
 @OC@ [r2+0x9ec0ceac]
 @OC@ [r2+-0x7ec0cead]
 @OC@ [r2-0x7ec0cead]
 @OC@ [r2+const_int_m32]
 @OC@ [r2+const_int_32]
 
 @OC@ [r2+42]
 @OC@ [r2-42]
 @OC@ [r2+-42]
 @OC@ [r2+forty2]
 @OC@ [r2+mforty2]
 @OC@ [r2-forty2]
 @OC@ [r2-mforty2]
 @OC@ [r2+-forty2]
 @OC@ [r2+-mforty2]
 
 @OC@ [r2+three2767]
 @OC@ [r2+three2767+1]
 @OC@ [r2+three2767+2]
 @OC@ [r2+-three2767]
 @OC@ [r2+-(three2767+1)]
 @OC@ [r2+-(three2767+2)]
 @OC@ [r2-three2767]
 @OC@ [r2-(three2767+1)]
 @OC@ [r2-(three2767+2)]
 @OC@ [r2+six5535]
 @OC@ [r2+six5535+1]
 @OC@ [r2+two701867]
 @OC@ [r2+-two701867]
 @OC@ [r2-two701867]
 
 @OC@ [r2+externalsym]
 
;;;;;;;;;;;;;;;;;
;
; [r=r+X],r
 
; [r=r+r.b],r
 
 @OC@.b [r12=r2+r0.b]
 @OC@.w [r12=r2+r5.b]
 @OC@.d [r12=r2+r10.b]
 
 @OC@ [r1=r2+r3.b]
 @OC@ [r12=r2+r10.b]
 
; [r=r+[r].b],r
 @OC@.b [r12=r2+[r0].b]
 @OC@.w [r12=r2+[r5].b]
 @OC@.d [r12=r2+[r10].b]
 
 @OC@ [r0=r2+[r5].b]
 @OC@ [r3=r2+[r10].b]
 
; [r=r+[r+].b],r
 @OC@.b [r12=r2+[r0+].b]
 @OC@.w [r12=r2+[r5+].b]
 @OC@.d [r12=r2+[r10+].b]
 
 @OC@.w [r12=r2+[r5+].b]
 
 @OC@.d [r12=r2+[r10+].b]
 
 @OC@ [r5=r2+[r4+].b]
 @OC@ [r2=r4+[r7+].b]
 
; [r=r+r.w],r
 
 @OC@.b [r12=r2+r0.w]
 @OC@.w [r12=r2+r5.w]
 @OC@.d [r12=r2+r10.w]
 
 @OC@ [r12=r12+r5.w]
 @OC@ [r1=r3+r10.w]
 
; [r=r+[r].w],r
 @OC@.b [r12=r2+[r0].w]
 @OC@.w [r12=r2+[r5].w]
 @OC@.d [r12=r2+[r10].w]
 
 @OC@ [r12=r2+[r5].w]
 @OC@ [r12=r7+[r10].w]
 
; [r=r+[r+].w],r
 @OC@.b [r12=r2+[r0+].w]
 @OC@.w [r12=r2+[r5+].w]
 @OC@.d [r12=r2+[r10+].w]
 
 @OC@.w [r12=r2+[r5+].w]
 
 @OC@.d [r12=r2+[r10+].w]
 
 @OC@ [r12=r6+[r7+].w]
 @OC@ [r12=r3+[r1+].w]
 
; [r=r+r.d],r
 
 @OC@.b [r12=r2+r0.d]
 @OC@.w [r12=r2+r5.d]
 @OC@.d [r12=r2+r10.d]
 
 @OC@ [r4=r2+r5.d]
 @OC@ [r12=r2+r10.d]
 
; [r=r+[r].d],r
 @OC@.b [r12=r2+[r0].d]
 @OC@.w [r12=r2+[r5].d]
 @OC@.d [r12=r2+[r10].d]
 
 @OC@ [r12=r3+[r5].d]
 @OC@ [r12=r4+[r10].d]
 
; [r=r+[r+].d],r
 @OC@.b [r12=r2+[r0+].d]
 @OC@.w [r12=r2+[r5+].d]
 @OC@.d [r12=r2+[r10+].d]
 
 @OC@.w [r12=r2+[r5+].d]
 
 @OC@.d [r12=r2+[r10+].d]
 
 @OC@ [r12=r8+[r5+].d]
 @OC@ [r12=r9+[r10+].d]
 
; [r=r+const],r
 @OC@.b [r12=r2+0]
 @OC@.b [r12=r2+1]
 @OC@.b [r12=r2+127]
 @OC@.b [r12=r2+128]
 @OC@.b [r12=r2+-1]
 @OC@.b [r12=r2+-127]
 @OC@.b [r12=r2+-128]
 @OC@.b [r12=r2+255]
 
 @OC@.b [r12=r2+42]
 @OC@.b [r12=r2+-42]
 @OC@.b [r12=r2-42]
 @OC@.b [r12=r2+forty2]
 @OC@.b [r12=r2+mforty2]
 @OC@.b [r12=r2+-forty2]
 @OC@.b [r12=r2+-mforty2]
 @OC@.b [r12=r2-forty2]
 @OC@.b [r12=r2-mforty2]
 @OC@.b [r12=r2+externalsym]
 
 @OC@.w [r12=r2+0]
 @OC@.w [r12=r2+1]
 @OC@.w [r12=r2+127]
 @OC@.w [r12=r2+128]
 @OC@.w [r12=r2+-1]
 @OC@.w [r12=r2-1]
 @OC@.w [r12=r2+-127]
 @OC@.w [r12=r2+-128]
 @OC@.w [r12=r2+-129]
 @OC@.w [r12=r2-127]
 @OC@.w [r12=r2-128]
 @OC@.w [r12=r2-129]
 @OC@.w [r12=r2+255]
 @OC@.w [r12=r2+-255]
 @OC@.w [r12=r2-255]
 @OC@.w [r12=r2+256]
 @OC@.w [r12=r2-256]
 @OC@.w [r12=r2+-8856]
 @OC@.w [r12=r2-8856]
 @OC@.w [r12=r2+8856]
 
 @OC@.w [r12=r2+42]
 @OC@.w [r12=r2+-42]
 @OC@.w [r12=r2-42]
 @OC@.w [r12=r2+forty2]
 @OC@.w [r12=r2+mforty2]
 @OC@.w [r12=r2+-forty2]
 @OC@.w [r12=r2-forty2]
 @OC@.w [r12=r2+-mforty2]
 
 @OC@.w [r12=r2+three2767]
 @OC@.w [r12=r2+three2767+1]
 @OC@.w [r12=r2+three2767+2]
 @OC@.w [r12=r2+-three2767]
 @OC@.w [r12=r2+-(three2767+1)]
 @OC@.w [r12=r2+-(three2767+2)]
 @OC@.w [r12=r2-three2767]
 @OC@.w [r12=r2-(three2767+1)]
 @OC@.w [r12=r2-(three2767+2)]
 @OC@.w [r12=r2+six5535]
 @OC@.w [r12=r2+externalsym]
 
 @OC@.d [r12=r2+0]
 @OC@.d [r12=r2+1]
 @OC@.d [r12=r2+127]
 @OC@.d [r12=r2+128]
 @OC@.d [r12=r2+-1]
 @OC@.d [r12=r2-1]
 @OC@.d [r12=r2+-127]
 @OC@.d [r12=r2+-128]
 @OC@.d [r12=r2-127]
 @OC@.d [r12=r2-128]
 @OC@.d [r12=r2+255]
 @OC@.d [r12=r2+-255]
 @OC@.d [r12=r2-255]
 @OC@.d [r12=r2+256]
 @OC@.d [r12=r2-256]
 @OC@.d [r12=r2-8856]
 @OC@.d [r12=r2+-256]
 @OC@.d [r12=r2+-8856]
 @OC@.d [r12=r2+8856]
 
 @OC@.d [r12=r2+2781868]
 @OC@.d [r12=r2+-2701867]
 
 @OC@.d [r12=r2+0x9ec0ceac]
 @OC@.d [r12=r2+-0x7ec0cead]
 @OC@.d [r12=r2-0x7ec0cead]
 @OC@.d [r12=r2+const_int_m32]
 @OC@.d [r12=r2+const_int_32]
 
 @OC@.d [r12=r2+42]
 @OC@.d [r12=r2-42]
 @OC@.d [r12=r2+-42]
 @OC@.d [r12=r2+forty2]
 @OC@.d [r12=r2+mforty2]
 @OC@.d [r12=r2-forty2]
 @OC@.d [r12=r2-mforty2]
 @OC@.d [r12=r2+-forty2]
 @OC@.d [r12=r2+-mforty2]
 
 @OC@.d [r12=r2+three2767]
 @OC@.d [r12=r2+three2767+1]
 @OC@.d [r12=r2+three2767+2]
 @OC@.d [r12=r2+-three2767]
 @OC@.d [r12=r2+-(three2767+1)]
 @OC@.d [r12=r2+-(three2767+2)]
 @OC@.d [r12=r2-three2767]
 @OC@.d [r12=r2-(three2767+1)]
 @OC@.d [r12=r2-(three2767+2)]
 @OC@.d [r12=r2+six5535]
 @OC@.d [r12=r2+six5535+1]
 @OC@.d [r12=r2+two701867]
 @OC@.d [r12=r2+-two701867]
 @OC@.d [r12=r2-two701867]
 
 @OC@.d [r12=r2+externalsym]
 
 @OC@ [r12=r2+0]
 @OC@ [r12=r2+1]
 @OC@ [r12=r2+127]
 @OC@ [r12=r2+128]
 @OC@ [r12=r2+-1]
 @OC@ [r12=r2-1]
 @OC@ [r12=r2+-127]
 @OC@ [r12=r2+-128]
 @OC@ [r12=r2-127]
 @OC@ [r12=r2-128]
 @OC@ [r12=r2+255]
 @OC@ [r12=r2+-255]
 @OC@ [r12=r2-255]
 @OC@ [r12=r2+256]
 @OC@ [r12=r2-256]
 @OC@ [r12=r2-8856]
 @OC@ [r12=r2+-256]
 @OC@ [r12=r2+-8856]
 @OC@ [r12=r2+8856]
 
 @OC@ [r12=r2+2781868]
 @OC@ [r12=r2+-2701867]
 
 @OC@ [r12=r2+0x9ec0ceac]
 @OC@ [r12=r2+-0x7ec0cead]
 @OC@ [r12=r2-0x7ec0cead]
 @OC@ [r12=r2+const_int_m32]
 @OC@ [r12=r2+const_int_32]
 
 @OC@ [r12=r2+42]
 @OC@ [r12=r2-42]
 @OC@ [r12=r2+-42]
 @OC@ [r12=r2+forty2]
 @OC@ [r12=r2+mforty2]
 @OC@ [r12=r2-forty2]
 @OC@ [r12=r2-mforty2]
 @OC@ [r12=r2+-forty2]
 @OC@ [r12=r2+-mforty2]
 
 @OC@ [r12=r2+three2767]
 @OC@ [r12=r2+three2767+1]
 @OC@ [r12=r2+three2767+2]
 @OC@ [r12=r2+-three2767]
 @OC@ [r12=r2+-(three2767+1)]
 @OC@ [r12=r2+-(three2767+2)]
 @OC@ [r12=r2-three2767]
 @OC@ [r12=r2-(three2767+1)]
 @OC@ [r12=r2-(three2767+2)]
 @OC@ [r12=r2+six5535]
 @OC@ [r12=r2+six5535+1]
 @OC@ [r12=r2+two701867]
 @OC@ [r12=r2+-two701867]
 @OC@ [r12=r2-two701867]
 
 @OC@ [r12=r2+externalsym]
 
;;;;;;;;;;;;;;;;;;;
;
; [[r(+)]],r
 
 @OC@.b [[r3]]
 @OC@.w [[r2]]
 @OC@.d [[r3]]
 
 @OC@ [[r2]]
 @OC@ [[r3]]
 
 @OC@.b [[r9+]]
 @OC@.w [[r3+]]
 @OC@.d [[r1+]]
 
 @OC@ [[r3+]]
 @OC@ [[r1+]]
 
 @OC@.b [externalsym]
 @OC@.w [externalsym]
 @OC@.d [externalsym]
 
 @OC@ [externalsym]
 
 @OC@.b [notstart]
 @OC@.w [notstart]
 @OC@.d [notstart]
 
 @OC@ [notstart]
 
end:
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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