diff options
author | Georg-Johann Lay <avr@gjlay.de> | 2012-01-02 12:30:56 +0000 |
---|---|---|
committer | Georg-Johann Lay <gjl@gcc.gnu.org> | 2012-01-02 12:30:56 +0000 |
commit | 8c57e5473e707a0def3df29d89336b96abca9388 (patch) | |
tree | 3c24b38e4a5abc3d1734ad1478057a319e4036c7 /gcc/fortran/interface.c | |
parent | 5f595f167555e127f24d3defedf431b06209bdfc (diff) | |
download | gcc-8c57e5473e707a0def3df29d89336b96abca9388.zip gcc-8c57e5473e707a0def3df29d89336b96abca9388.tar.gz gcc-8c57e5473e707a0def3df29d89336b96abca9388.tar.bz2 |
Implement light-weight DImode support.
gcc/
Implement light-weight DImode support.
* config/avr/avr-dimode.md: New file.
* config/avr/avr.md: Include it.
(adjust_len): Add plus64, compare64.
(HIDI): Remove code iterator.
(code_stdname): New code attribute.
(rotx, rotsmode): Remove DI.
(rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI
as code iterator.
* config/avr/avr-protos.h (avr_have_dimode): New.
(avr_out_plus64, avr_out_compare64): New.
* config/avr/avr.c (avr_out_compare): Handle DImode.
(avr_have_dimode): New variable definition and initialization.
(avr_out_compare64, avr_out_plus64): New functions.
(avr_out_plus_1): Use simplify_unary_operation to negate xval.
(adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64.
(avr_compare_pattern): Skip DImode comparisons.
libgcc/
Implement light-weight DImode support.
* config/avr/t-avr (LIB1ASMFUNCS): Add _adddi3, _adddi3_s8,
_subdi3, _cmpdi2, _cmpdi2_s8, _rotldi3.
* config/avr/lib1funcs.S (__adddi3, __adddi3_s8, __subdi3,
__cmpdi2, __cmpdi2_s8, __rotldi3): New functions.
From-SVN: r182794
Diffstat (limited to 'gcc/fortran/interface.c')
0 files changed, 0 insertions, 0 deletions