Reallow unrestricted use of .set mipsX pseudo-op in gas.
authorThiemo Seufer <ths@networkno.de>
Fri, 7 Sep 2001 05:54:12 +0000 (05:54 +0000)
committerThiemo Seufer <ths@networkno.de>
Fri, 7 Sep 2001 05:54:12 +0000 (05:54 +0000)
Update testcases accordingly.

13 files changed:
gas/ChangeLog
gas/config/tc-mips.c
gas/testsuite/ChangeLog
gas/testsuite/gas/mips/mips-abi32-pic.s
gas/testsuite/gas/mips/mips-abi32.s
gas/testsuite/gas/mips/mips-gp32-fp32-pic.s
gas/testsuite/gas/mips/mips-gp32-fp32.s
gas/testsuite/gas/mips/mips-gp32-fp64-pic.s
gas/testsuite/gas/mips/mips-gp32-fp64.s
gas/testsuite/gas/mips/mips-gp64-fp32-pic.s
gas/testsuite/gas/mips/mips-gp64-fp32.s
gas/testsuite/gas/mips/mips-gp64-fp64-pic.s
gas/testsuite/gas/mips/mips-gp64-fp64.s

index 18a62f0..297b304 100644 (file)
@@ -1,5 +1,10 @@
 2001-09-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
 
+       * config/tc-mips.c (s_mipsset): Reallow unrestricted use of .set mipsX
+       pseudo-op.
+\r
+2001-09-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
        * config/tc-mips.c (append_insn): Handle BFD_RELOC_16_PCREL.
        (macro_build): Use BFD_RELOC_16_PCREL_S2 only for embedded
        PIC, BFD_RELOC_16_PCREL for the rest.
index c301767..0855af0 100644 (file)
@@ -10406,12 +10406,57 @@ s_mipsset (x)
   else if (strncmp (name, "mips", 4) == 0)
     {
       int isa;
+      static int saved_mips_gp32;
+      static int saved_mips_fp32;
+      static int saved_mips_32bit_abi;
+      static int is_saved;
 
       /* Permit the user to change the ISA on the fly.  Needless to
         say, misuse can cause serious problems.  */
       isa = atoi (name + 4);
       switch (isa)
       {
+      case  0:
+       mips_gp32 = saved_mips_gp32;
+       mips_fp32 = saved_mips_fp32;
+       mips_32bit_abi = saved_mips_32bit_abi;
+       is_saved = 0;
+       break;
+      case  1:
+      case  2:
+      case 32:
+       if (! is_saved)
+         {
+           saved_mips_gp32 = mips_gp32;
+           saved_mips_fp32 = mips_fp32;
+           saved_mips_32bit_abi = mips_32bit_abi;
+         }
+       mips_gp32 = 1;
+       mips_fp32 = 1;
+       is_saved = 1;
+       break;
+      case  3:
+      case  4:
+      case  5:
+      case 64:
+       if (! is_saved)
+         {
+           saved_mips_gp32 = mips_gp32;
+           saved_mips_fp32 = mips_fp32;
+           saved_mips_32bit_abi = mips_32bit_abi;
+         }
+       mips_gp32 = 0;
+       mips_fp32 = 0;
+       mips_32bit_abi = 0;
+       is_saved = 1;
+       break;
+      default:
+       as_bad (_("unknown ISA level"));
+       break;
+      }
+
+      switch (isa)
+      {
       case  0: mips_opts.isa = file_mips_isa;   break;
       case  1: mips_opts.isa = ISA_MIPS1;       break;
       case  2: mips_opts.isa = ISA_MIPS2;       break;
index a037123..176ce32 100644 (file)
@@ -1,5 +1,18 @@
 2001-09-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
 
+       * gas/mips/mips-abi32-pic.s: Remove .set mips4 pseudo-op.
+       * gas/mips/mips-abi32.s: Likewise.
+       * gas/mips/mips-gp32-fp32-pic.s: Likewise.
+       * gas/mips/mips-gp32-fp32.s: Likewise.
+       * gas/mips/mips-gp32-fp64-pic.s: Likewise.
+       * gas/mips/mips-gp32-fp64.s: Likewise.
+       * gas/mips/mips-gp64-fp32-pic.s: Likewise.
+       * gas/mips/mips-gp64-fp32.s: Likewise.
+       * gas/mips/mips-gp64-fp64-pic.s: Likewise.
+       * gas/mips/mips-gp64-fp64.s: Likewise.
+\r
+2001-09-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
        * gas/mips/beq.d: Check branches to external labels.
        * gas/mips/beq.s: Likewise.
        * gas/mips/bge.d: Likewise.
index c727607..5fcb058 100644 (file)
@@ -13,7 +13,6 @@ unshared:
        .text
        .ent    func
 func:
-       .set mips4
        .set noreorder
        .cpload $25             # 0000 lui      gp,hi(_gp_disp)
                                # 0004 addiu    gp,gp,lo(_gp_disp)
index bd20fe5..c2db021 100644 (file)
@@ -13,7 +13,6 @@ unshared:
        .text
 func:
        .set noreorder
-       .set mips4
        li      $4, 0x12345678  # 0000 lui      a0,0x1234
                                # 0004 ori      a0,a0,0x5678
        la      $4, shared      # 0008 addiu    a0,gp,shared
index 1603dc1..7671823 100644 (file)
@@ -13,7 +13,6 @@ unshared:
        .text
        .ent    func
 func:
-       .set mips4
        .set noreorder
        .cpload $25             # 0000 lui      gp,hi(_gp_disp)
                                # 0004 addiu    gp,gp,lo(_gp_disp)
index 955b77e..b9ed87f 100644 (file)
@@ -13,7 +13,6 @@ unshared:
        .text
 func:
        .set noreorder
-       .set mips4
        li      $4, 0x12345678  # 0000 lui      a0,0x1234
                                # 0004 ori      a0,a0,0x5678
        la      $4, shared      # 0008 addiu    a0,gp,shared
index 0110b1e..2a4f5ad 100644 (file)
@@ -13,7 +13,6 @@ unshared:
        .text
        .ent    func
 func:
-       .set mips4
        .set noreorder
        .cpload $25             # 0000 lui      gp,hi(_gp_disp)
                                # 0004 addiu    gp,gp,lo(_gp_disp)
index 4578a33..87503e4 100644 (file)
@@ -13,7 +13,6 @@ unshared:
        .text
 func:
        .set noreorder
-       .set mips4
        li      $4, 0x12345678  # 0000 lui      a0,0x1234
                                # 0004 ori      a0,a0,0x5678
        la      $4, shared      # 0008 addiu    a0,gp,shared
index aae2afb..c67ad06 100644 (file)
@@ -13,7 +13,6 @@ unshared:
        .text
        .ent    func
 func:
-       .set mips4
        .set noreorder
        .cpload $25             # 0000 lui      gp,hi(_gp_disp)
                                # 0004 addiu    gp,gp,lo(_gp_disp)
index 190998b..2907103 100644 (file)
@@ -13,7 +13,6 @@ unshared:
        .text
 func:
        .set noreorder
-       .set mips4
        li      $4, 0x12345678  # 0000 lui      a0,0x1234
                                # 0004 ori      a0,a0,0x5678
        la      $4, shared      # 0008 daddiu   a0,gp,shared
index 0858b05..1f144f5 100644 (file)
@@ -13,7 +13,6 @@ unshared:
        .text
        .ent    func
 func:
-       .set mips4
        .set noreorder
        .cpload $25             # 0000 lui      gp,hi(_gp_disp)
                                # 0004 addiu    gp,gp,lo(_gp_disp)
index a3b4f4d..8698fb4 100644 (file)
@@ -13,7 +13,6 @@ unshared:
        .text
 func:
        .set noreorder
-       .set mips4
        li      $4, 0x12345678  # 0000 lui      a0,0x1234
                                # 0004 ori      a0,a0,0x5678
        la      $4, shared      # 0008 daddiu   a0,gp,shared