]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
tramp.c (MOVHI, ORI, JMP): Conditionalize for __nios2_arch__ level.
authorSandra Loosemore <sandra@codesourcery.com>
Tue, 14 Jul 2015 22:43:46 +0000 (18:43 -0400)
committerSandra Loosemore <sandra@gcc.gnu.org>
Tue, 14 Jul 2015 22:43:46 +0000 (18:43 -0400)
2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
    Cesar Philippidis  <cesar@codesourcery.com>
    Chung-Lin Tang  <cltang@codesourcery.com>

libgcc/
* config/nios2/tramp.c (MOVHI, ORI, JMP): Conditionalize
for __nios2_arch__ level.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
From-SVN: r225794

libgcc/ChangeLog
libgcc/config/nios2/tramp.c

index 26362b3f72c1c6de4d222b3314698345cba7a19a..13b3a9485576987e87793c386bc649f7aa1aca07 100644 (file)
@@ -1,3 +1,10 @@
+2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
+           Cesar Philippidis  <cesar@codesourcery.com>
+           Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * config/nios2/tramp.c (MOVHI, ORI, JMP): Conditionalize
+       for __nios2_arch__ level.
+
 2015-07-13  John Marino  <gnugcc@marino.st>
 
        * config/i386/t-dragonfly: New.
index 73473a15f57e4dbdde25db2f01241d13c522f5c4..e108c7a990cbcb83ee903c7fa507d77df09ba219 100644 (file)
@@ -33,13 +33,27 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 
 #define SC_REGNO 12
 
-#define MOVHI(reg,imm16) \
+/* Instruction encodings depend on the ISA level.  */
+#if __nios2_arch__ == 2
+#define MOVHI(reg,imm16)                       \
+  (((reg) << 11) | ((imm16) << 16) | 0x34)
+#define ORI(reg,imm16)                                         \
+  (((reg) << 11) | ((reg) << 6) | ((imm16) << 16) | 0x14)
+#define JMP(reg)                               \
+  (((reg) << 6) | (0x0d << 26) | 0x20)
+
+#elif __nios2_arch__ == 1
+#define MOVHI(reg,imm16)                       \
   (((reg) << 22) | ((imm16) << 6) | 0x34)
-#define ORI(reg,imm16) \
+#define ORI(reg,imm16)                                         \
   (((reg) << 27) | ((reg) << 22) | ((imm16) << 6) | 0x14)
-#define JMP(reg) \
+#define JMP(reg)                               \
   (((reg) << 27) | (0x0d << 11) | 0x3a)
 
+#else
+#error "Unknown Nios II architecture level"
+#endif
+
 void
 __trampoline_setup (unsigned int *addr, void *fnptr, void *chainptr)
 {