Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/cris/cris.h @ 36:855418dad1a3
gcc-4.4-20091020
author | e075725 |
---|---|
date | Tue, 22 Dec 2009 21:19:31 +0900 |
parents | a06113de4d67 |
children | 77e2b8dfacca |
comparison
equal
deleted
inserted
replaced
19:58ad6c70ea60 | 36:855418dad1a3 |
---|---|
642 && (CLASS) != CC0_REGS \ | 642 && (CLASS) != CC0_REGS \ |
643 && (CLASS) != SPECIAL_REGS \ | 643 && (CLASS) != SPECIAL_REGS \ |
644 ? GENERAL_REGS : (CLASS)) | 644 ? GENERAL_REGS : (CLASS)) |
645 | 645 |
646 /* We can't move special registers to and from memory in smaller than | 646 /* We can't move special registers to and from memory in smaller than |
647 word_mode. */ | 647 word_mode. We also can't move between special registers. Luckily, |
648 #define SECONDARY_RELOAD_CLASS(CLASS, MODE, X) \ | 648 -1, as returned by true_regnum for non-sub/registers, is valid as a |
649 (((CLASS) != SPECIAL_REGS && (CLASS) != MOF_REGS) \ | 649 parameter to our REGNO_REG_CLASS, returning GENERAL_REGS, so we get |
650 || GET_MODE_SIZE (MODE) == 4 \ | 650 the effect that any X that isn't a special-register is treated as |
651 || !MEM_P (X) \ | 651 a non-empty intersection with GENERAL_REGS. */ |
652 ? NO_REGS : GENERAL_REGS) | 652 #define SECONDARY_RELOAD_CLASS(CLASS, MODE, X) \ |
653 ((((CLASS) == SPECIAL_REGS || (CLASS) == MOF_REGS) \ | |
654 && ((GET_MODE_SIZE (MODE) < 4 && MEM_P (X)) \ | |
655 || !reg_classes_intersect_p (REGNO_REG_CLASS (true_regnum (X)), \ | |
656 GENERAL_REGS))) \ | |
657 ? GENERAL_REGS : NO_REGS) | |
653 | 658 |
654 /* FIXME: Fix regrename.c; it should check validity of replacements, | 659 /* FIXME: Fix regrename.c; it should check validity of replacements, |
655 not just with a silly pass-specific macro. We may miss some | 660 not just with a silly pass-specific macro. We may miss some |
656 opportunities, but we must stop regrename from creating acr++. */ | 661 opportunities, but we must stop regrename from creating acr++. */ |
657 #define HARD_REGNO_RENAME_OK(FROM, TO) ((TO) != CRIS_ACR_REGNUM) | 662 #define HARD_REGNO_RENAME_OK(FROM, TO) ((TO) != CRIS_ACR_REGNUM) |