History log of /openbsd/gnu/usr.bin/gcc/gcc/config/m88k/m88k.md (Results 1 – 10 of 10)
Revision Date Author Comments
# 24ed4e7e 04-Jun-2013 miod <miod@openbsd.org>

Add "length" attribute to "weird" class instructions of small length: user
inline assembly, tb/tbnd instructions.

Don't use `r' qualifier for "register_operand", it's redundant.


# 6f098b2c 08-May-2013 miod <miod@openbsd.org>

In block_move_sequence(), use emit_move_insn() instead of rolling our own
incomplete equivalent. The ugly BLK<->{QI,HI,SI,DI} load and store insns in
m88k.md can thus get removed, and there was much

In block_move_sequence(), use emit_move_insn() instead of rolling our own
incomplete equivalent. The ugly BLK<->{QI,HI,SI,DI} load and store insns in
m88k.md can thus get removed, and there was much rejoicing (as well as fewer
warnings when building).

show more ...


# 954fcf4f 30-Jan-2013 miod <miod@openbsd.org>

Revert m88k.md 1.7 and m88k.c 1.27, 1.26 and 1.24 (partially) to restore the
existing behaviour of wrapping big PIC addresses in `unspec's to prevent the
cse pass from modifying them.

However, inste

Revert m88k.md 1.7 and m88k.c 1.27, 1.26 and 1.24 (partially) to restore the
existing behaviour of wrapping big PIC addresses in `unspec's to prevent the
cse pass from modifying them.

However, instead of building the unspec ourselves in the C code, rely upon
explicitely named define_insn() constructs in the .md description.

Then, fix the ambiguity this introduces between the locate1 and movsi_high_pic
insns by defining symbolic constants as the unspec selector, and using them,
instead of 0.

show more ...


# 965618bc 27-Jan-2013 miod <miod@openbsd.org>

The removal of the wrapping of PIC symbol references in an UNSPEC vector
caused the code responsible for adding the proper #got_rel relocation to the
second part of the PIC symbol address load.

Inst

The removal of the wrapping of PIC symbol references in an UNSPEC vector
caused the code responsible for adding the proper #got_rel relocation to the
second part of the PIC symbol address load.

Instead of using an UNSPEC for that purpose (which violates assumptions made
by the MI code anyway), check for the the second operand of a LO_SUM being
either a SYMBOL_REF or a LABEL_REF, to output the #got_rel relocation, and
drop the remaining bits of UNSPEC handling.

show more ...


# ffb30747 02-Jan-2013 miod <miod@openbsd.org>

Start removing obsolete features from the m88k backend (it's not like we'll
need to sync with upstream anymore) to make things a bit simpler and get
rid of unintended bitrotting.

This time:
- remove

Start removing obsolete features from the m88k backend (it's not like we'll
need to sync with upstream anymore) to make things a bit simpler and get
rid of unintended bitrotting.

This time:
- remove the small-data feature. It was only supported for COFF binaries
anyway. This allows us to stop providing TARGET_ASM_SELECT_SECTION and
use the default flavour, from which this backend had derived a bit in
addition to sdata support, so this is a good thing...
- remove the -midentify-version option
- remove the -mbig-pic option, it has been superseded by -fPIC since years
and was supposed to be removed `in a future version' since a long time
as well.
- remove the old MONITOR_GCC debug hooks.

show more ...


# ff385ce4 15-Nov-2012 miod <miod@openbsd.org>

Only allow the "return" insn construct (which simply yields a "jmp r1" line)
if null_prologue(), i.e. if there is no stack frame to undo and no r1 to
restore.

Make the "epilogue" insn construct no l

Only allow the "return" insn construct (which simply yields a "jmp r1" line)
if null_prologue(), i.e. if there is no stack frame to undo and no r1 to
restore.

Make the "epilogue" insn construct no longer depend on "return", but rather
on "(use (const_int 0))" as "prologue" and as generally done on other backends.
On the other hand, make it unconditionnal, instead of "! null_prologue()".

These changes make sure than a leaf procedure call does not end up "returning"
(i.e. jmp r1) upon return from the call, without restoring r1 and r30 (whenever
applicable) from the existing stack frame.

This makes a gcc3-compiled __main() (from libgcc2.c) no longer spin after
invoking the constructors, and gives the real payload (i.e. main() and whatever
follows from there) a chance to run.

show more ...


# 023f4f6a 09-Nov-2012 miod <miod@openbsd.org>

Move the actual operand contraints in define_split constructs from the lisp
expression attributes to the conditional C statement chunk, for this is the
only way to have them honored with gcc 3 (thank

Move the actual operand contraints in define_split constructs from the lisp
expression attributes to the conditional C statement chunk, for this is the
only way to have them honored with gcc 3 (thanks for genrecog to warn about
this).

Note that most of the affected operands were ``register_operand'', hence the
"r" constraint is implied. There are a few `register + ccmode' constructs which
could have caused wrong code generation before this change, though.

show more ...


# a091d7a7 09-Nov-2012 miod <miod@openbsd.org>

(subreg) in gcc 3 takes the subreg position in bytes, not in BYTES_PER_WORD
units.


# 513eb745 09-Nov-2012 miod <miod@openbsd.org>

Port the gcc 2.95 m88k fixes to the gcc 3 codebase, except for the function
frame setup and varargs handling, which need some more work at the moment.


# c87b03e5 29-Nov-2003 espie <espie@openbsd.org>

Import gcc-3.3.2. Only the compiler. ada frontend removed for space
considerations.