+2015-06-29  Jiong Wang  <jiong.wang@arm.com>
+
+       * config/arch64/aarch64.md (UNSPEC_TLSLE): New enumeration.
+       * config/arch64/aarch64.md (tlsle_small): Rename to tlsle and use new
+       unspec name.
+       (tlsle_small_<mode>): Rename to tlsle_<mode> and use new unspec name.
+       * config/arch64/aarch64-protos.h (arch64_symbol_type): Rename
+       SYMBOL_SMALL_TPREL to SYMBOL_TLSLE.
+       (aarch64_symbol_context): Ditto.
+       * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto
+       and use new pattern name.
+       (aarch64_expand_mov_immediate): Ditto.
+       (aarch64_print_operand): Ditto.
+       (aarch64_classify_tls_symbol): Ditto.
+
 2015-06-29  Marek Polacek  <polacek@redhat.com>
            Marc Glisse  <marc.glisse@inria.fr>
 
 
    SYMBOL_SMALL_TLSGD
    SYMBOL_SMALL_TLSDESC
    SYMBOL_SMALL_GOTTPREL
-   SYMBOL_SMALL_TPREL
+   SYMBOL_TLSLE
    Each of of these represents a thread-local symbol, and corresponds to the
    thread local storage relocation operator for the symbol being referred to.
 
   SYMBOL_SMALL_TLSGD,
   SYMBOL_SMALL_TLSDESC,
   SYMBOL_SMALL_GOTTPREL,
-  SYMBOL_SMALL_TPREL,
   SYMBOL_TINY_ABSOLUTE,
   SYMBOL_TINY_GOT,
+  SYMBOL_TLSLE,
   SYMBOL_FORCE_TO_MEM
 };
 
 
        return;
       }
 
-    case SYMBOL_SMALL_TPREL:
+    case SYMBOL_TLSLE:
       {
        rtx tp = aarch64_load_tp (NULL);
 
        if (GET_MODE (dest) != Pmode)
          tp = gen_lowpart (GET_MODE (dest), tp);
 
-       emit_insn (gen_tlsle_small (dest, tp, imm));
+       emit_insn (gen_tlsle (dest, tp, imm));
        set_unique_reg_note (get_last_insn (), REG_EQUIV, imm);
        return;
       }
            }
          /* FALLTHRU */
 
-        case SYMBOL_SMALL_TPREL:
        case SYMBOL_SMALL_ABSOLUTE:
        case SYMBOL_TINY_ABSOLUTE:
+       case SYMBOL_TLSLE:
          aarch64_load_symref_appropriately (dest, imm, sty);
          return;
 
          asm_fprintf (asm_out_file, ":gottprel:");
          break;
 
-       case SYMBOL_SMALL_TPREL:
+       case SYMBOL_TLSLE:
          asm_fprintf (asm_out_file, ":tprel:");
          break;
 
          asm_fprintf (asm_out_file, ":gottprel_lo12:");
          break;
 
-       case SYMBOL_SMALL_TPREL:
+       case SYMBOL_TLSLE:
          asm_fprintf (asm_out_file, ":tprel_lo12_nc:");
          break;
 
 
       switch (aarch64_classify_symbolic_expression (x, SYMBOL_CONTEXT_ADR))
        {
-       case SYMBOL_SMALL_TPREL:
+       case SYMBOL_TLSLE:
          asm_fprintf (asm_out_file, ":tprel_hi12:");
          break;
        default:
       return SYMBOL_SMALL_GOTTPREL;
 
     case TLS_MODEL_LOCAL_EXEC:
-      return SYMBOL_SMALL_TPREL;
+      return SYMBOL_TLSLE;
 
     case TLS_MODEL_EMULATED:
     case TLS_MODEL_NONE:
 
     UNSPEC_ST4_LANE
     UNSPEC_TLS
     UNSPEC_TLSDESC
+    UNSPEC_TLSLE
     UNSPEC_USHL_2S
     UNSPEC_VSTRUCTDUMMY
     UNSPEC_SP_SET
    (set_attr "length" "8")]
 )
 
-(define_expand "tlsle_small"
+(define_expand "tlsle"
   [(set (match_operand 0 "register_operand" "=r")
         (unspec [(match_operand 1 "register_operand" "r")
                    (match_operand 2 "aarch64_tls_le_symref" "S")]
-                   UNSPEC_GOTSMALLTLS))]
+                   UNSPEC_TLSLE))]
   ""
 {
   machine_mode mode = GET_MODE (operands[0]);
   emit_insn ((mode == DImode
-             ? gen_tlsle_small_di
-             : gen_tlsle_small_si) (operands[0],
-                                    operands[1],
-                                    operands[2]));
+             ? gen_tlsle_di
+             : gen_tlsle_si) (operands[0], operands[1], operands[2]));
   DONE;
 })
 
-(define_insn "tlsle_small_<mode>"
+(define_insn "tlsle_<mode>"
   [(set (match_operand:P 0 "register_operand" "=r")
         (unspec:P [(match_operand:P 1 "register_operand" "r")
                    (match_operand 2 "aarch64_tls_le_symref" "S")]
-                  UNSPEC_GOTSMALLTLS))]
+                  UNSPEC_TLSLE))]
   ""
   "add\\t%<w>0, %<w>1, #%G2, lsl #12\;add\\t%<w>0, %<w>0, #%L2"
   [(set_attr "type" "alu_sreg")