[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gas/11395] New: gas creates 64bit add-instruction in 32bit mode for
From: |
haubi at gentoo dot org |
Subject: |
[Bug gas/11395] New: gas creates 64bit add-instruction in 32bit mode for hppa2.0 |
Date: |
17 Mar 2010 12:57:12 -0000 |
GNU-as (2.19, 2.20) for hppa2.0w-hp-hpux11.31 creates a different bytecode for
the "ADD" instruction compared to HP-as, when .LEVEL is set to "2.0". There is
no difference when .LEVEL is set to "1.1".
Using this assembly file as input:
$ cat > xx20.s <<EOF
.LEVEL 2.0
.CODE
func
.PROC
.CALLINFO FRAME=0, NO_CALLS
.EXPORT func,ENTRY
.ENTRY
BV %r0(%rp)
.EXIT
ADD %r1,%r1,%r1 ; <== the important line
.PROCEND
.END
EOF
$ /opt/hp-gcc/bin/as xx20.s -o xx20.gnu.o
$ /opt/hp-gcc/bin/objdump -d xx20.gnu.o > xx20.gnu.asm
$ /usr/ccs/bin/as xx20.s -o xx20.hp.o
$ /opt/hp-gcc/bin/objdump -d xx20.hp.o > xx20.hp.asm
$ diff xx20.hp.asm xx20.gnu.asm | grep add
< 4: 08 21 06 01 add r1,r1,r1
> 4: 08 21 06 21 add r1,r1,r1
As there is no cmplt/carry/cond modifier (as described in [1] on page 7-2), I'm
not sure if {The boolean variable "overflow" in the operation section is set}
actually applies.
[1]
http://h21007.www2.hp.com/portal/download/files/unprot/parisc20/PA_7_inst_descriptions.pdf
--
Summary: gas creates 64bit add-instruction in 32bit mode for
hppa2.0
Product: binutils
Version: 2.20
Status: NEW
Severity: normal
Priority: P2
Component: gas
AssignedTo: unassigned at sources dot redhat dot com
ReportedBy: haubi at gentoo dot org
CC: bug-binutils at gnu dot org
GCC build triplet: hppa2.0*-hp-hpux*
GCC host triplet: hppa2.0*-hp-hpux*
GCC target triplet: hppa2.0*-hp-hpux*
http://sourceware.org/bugzilla/show_bug.cgi?id=11395
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug gas/11395] New: gas creates 64bit add-instruction in 32bit mode for hppa2.0,
haubi at gentoo dot org <=