components/llvm/patches/032-solaris-LLVM-libTarget-SPARC.patch
changeset 7665 a7b902bdb03a
parent 6512 92717ce71105
child 7776 6fbca08cf8d3
equal deleted inserted replaced
7662:e9ad40e73ba5 7665:a7b902bdb03a
       
     1 # 25519458 LLVM getHostCPUName will not work with Fujitsu processor names
       
     2 # 24960500 llvm getHostCPUName() comes up with names that its parser doesn't recognize
     1 # 22777179 implement -mtune= | -march= | -mcpu= in clang SPARC
     3 # 22777179 implement -mtune= | -march= | -mcpu= in clang SPARC
     2 # 22778085 LLVM is using %icc when it should be using %xcc
     4 # 22778085 LLVM is using %icc when it should be using %xcc
     3 # 22778089 the SPARCV9 IS implementation is incomplete
     5 # 22778089 the SPARCV9 IS implementation is incomplete
     4 # 22778098 LLVM should emit proc identifiers in SPARC assembler (capabilities)
     6 # 22778098 LLVM should emit proc identifiers in SPARC assembler (capabilities)
     5 # 3.9.X for upstream.
     7 # 3.9.X for upstream.
     6 --- lib/Target/Sparc/Sparc.td	2015-03-27 20:03:51.000000000 -0800
     8 --- lib/Target/Sparc/Sparc.td	2015-03-27 21:03:51.000000000 -0700
     7 +++ lib/Target/Sparc/Sparc.td	2016-06-30 08:30:11.896274715 -0800
     9 +++ lib/Target/Sparc/Sparc.td	2017-02-08 09:22:42.929246156 -0800
     8 @@ -35,13 +35,15 @@
    10 @@ -35,14 +35,16 @@
     9  def FeatureVIS3
    11  def FeatureVIS3
    10    : SubtargetFeature<"vis3", "IsVIS3", "true",
    12    : SubtargetFeature<"vis3", "IsVIS3", "true",
    11                       "Enable Visual Instruction Set extensions III">;
    13                       "Enable Visual Instruction Set extensions III">;
    12 -
    14 -
    13  def FeatureHardQuad
    15  def FeatureHardQuad
    14    : SubtargetFeature<"hard-quad-float", "HasHardQuad", "true",
    16    : SubtargetFeature<"hard-quad-float", "HasHardQuad", "true",
    15                       "Enable quad-word floating point instructions">;
    17                       "Enable quad-word floating point instructions">;
    16 -
       
    17 -def UsePopc : SubtargetFeature<"popc", "UsePopc", "true",
       
    18 -                               "Use the popc (population count) instruction">;
       
    19 +def UsePopc
    18 +def UsePopc
    20 +  : SubtargetFeature<"popc", "UsePopc", "true",
    19 +  : SubtargetFeature<"popc", "UsePopc", "true",
    21 +                     "Use the popc (population count) instruction">;
    20 +                     "Use the popc (population count) instruction">;
    22 +def UseHWCap
    21 +def UseHWCap
    23 +  : SubtargetFeature<"hwcap", "UseHWCap", "true",
    22 +  : SubtargetFeature<"hwcap", "UseHWCap", "true",
    24 +                      "Use SPARC Hardware Capabiliies">;
    23 +                      "Use SPARC Hardware Capabiliies">;
    25  
    24  
       
    25 -def UsePopc : SubtargetFeature<"popc", "UsePopc", "true",
       
    26 -                               "Use the popc (population count) instruction">;
       
    27 -
    26  //===----------------------------------------------------------------------===//
    28  //===----------------------------------------------------------------------===//
    27  // Register File, Calling Conv, Instruction Descriptions
    29  // Register File, Calling Conv, Instruction Descriptions
       
    30  //===----------------------------------------------------------------------===//
    28 @@ -74,10 +76,46 @@
    31 @@ -74,10 +76,46 @@
    29  def : Proc<"sparclite86x",    []>;
    32  def : Proc<"sparclite86x",    []>;
    30  def : Proc<"sparclet",        []>;
    33  def : Proc<"sparclet",        []>;
    31  def : Proc<"tsc701",          []>;
    34  def : Proc<"tsc701",          []>;
    32 -def : Proc<"v9",              [FeatureV9]>;
    35 -def : Proc<"v9",              [FeatureV9]>;
    72 +def : Proc<"ultrasparc4",     [FeatureV9, FeatureV8Deprecated, FeatureVIS,
    75 +def : Proc<"ultrasparc4",     [FeatureV9, FeatureV8Deprecated, FeatureVIS,
    73 +                               FeatureVIS2, FeatureVIS3]>;
    76 +                               FeatureVIS2, FeatureVIS3]>;
    74  def : Proc<"niagara",         [FeatureV9, FeatureV8Deprecated, FeatureVIS,
    77  def : Proc<"niagara",         [FeatureV9, FeatureV8Deprecated, FeatureVIS,
    75                                 FeatureVIS2]>;
    78                                 FeatureVIS2]>;
    76  def : Proc<"niagara2",        [FeatureV9, FeatureV8Deprecated, UsePopc,
    79  def : Proc<"niagara2",        [FeatureV9, FeatureV8Deprecated, UsePopc,
    77 @@ -86,7 +124,10 @@
    80 @@ -86,8 +124,31 @@
    78                                 FeatureVIS, FeatureVIS2]>;
    81                                 FeatureVIS, FeatureVIS2]>;
    79  def : Proc<"niagara4",        [FeatureV9, FeatureV8Deprecated, UsePopc,
    82  def : Proc<"niagara4",        [FeatureV9, FeatureV8Deprecated, UsePopc,
    80                                 FeatureVIS, FeatureVIS2, FeatureVIS3]>;
    83                                 FeatureVIS, FeatureVIS2, FeatureVIS3]>;
       
    84 +def : Proc<"sparc4",          [FeatureV9, FeatureV8Deprecated, UsePopc,
       
    85 +                               FeatureVIS, FeatureVIS2, FeatureVIS3]>;
       
    86 +def : Proc<"sparc5",          [FeatureV9, FeatureV8Deprecated, UsePopc,
       
    87 +                               FeatureVIS, FeatureVIS2, FeatureVIS3]>;
       
    88 +def : Proc<"SPARC-T4",        [FeatureV9, FeatureV8Deprecated, UsePopc,
       
    89 +                               FeatureVIS, FeatureVIS2, FeatureVIS3]>;
       
    90 +def : Proc<"SPARC-T5",        [FeatureV9, FeatureV8Deprecated, UsePopc,
       
    91 +                               FeatureVIS, FeatureVIS2, FeatureVIS3]>;
       
    92 +def : Proc<"SPARC-M5",        [FeatureV9, FeatureV8Deprecated, UsePopc,
       
    93 +                               FeatureVIS, FeatureVIS2, FeatureVIS3]>;
       
    94 +def : Proc<"SPARC-M6",        [FeatureV9, FeatureV8Deprecated, UsePopc,
       
    95 +                               FeatureVIS, FeatureVIS2, FeatureVIS3]>;
       
    96 +def : Proc<"SPARC-T7",        [FeatureV9, FeatureV8Deprecated, UsePopc,
       
    97 +                               FeatureVIS, FeatureVIS2, FeatureVIS3]>;
       
    98 +def : Proc<"SPARC-S7",        [FeatureV9, FeatureV8Deprecated, UsePopc,
       
    99 +                               FeatureVIS, FeatureVIS2, FeatureVIS3]>;
       
   100 +def : Proc<"SPARC-M8",        [FeatureV9, FeatureV8Deprecated, UsePopc,
       
   101 +                               FeatureVIS, FeatureVIS2, FeatureVIS3]>;
       
   102 +def : Proc<"SPARC64-X",        [FeatureV9, FeatureV8Deprecated, UsePopc,
       
   103 +                               FeatureVIS, FeatureVIS2, FeatureVIS3]>;
       
   104 +def : Proc<"SPARC64-X+",        [FeatureV9, FeatureV8Deprecated, UsePopc,
       
   105 +                               FeatureVIS, FeatureVIS2, FeatureVIS3]>;
       
   106 +def : Proc<"SPARC64-XII",        [FeatureV9, FeatureV8Deprecated, UsePopc,
       
   107 +                               FeatureVIS, FeatureVIS2, FeatureVIS3]>;
       
   108  
    81 -
   109 -
    82 +def : Proc<"sparc4",          [FeatureV9, FeatureV8Deprecated, UsePopc,
       
    83 +                               FeatureVIS, FeatureVIS2, FeatureVIS3]>;
       
    84 +def : Proc<"sparc5",          [FeatureV9, FeatureV8Deprecated, UsePopc,
       
    85 +                               FeatureVIS, FeatureVIS2, FeatureVIS3]>;
       
    86  
       
    87  //===----------------------------------------------------------------------===//
   110  //===----------------------------------------------------------------------===//
    88  // Declare the target which we are implementing
   111  // Declare the target which we are implementing
       
   112  //===----------------------------------------------------------------------===//
       
   113 
    89 ###
   114 ###
    90 --- lib/Target/Sparc/SparcRegisterInfo.td	2015-10-04 01:11:22.000000000 -0800
   115 --- lib/Target/Sparc/SparcRegisterInfo.td	2015-10-04 01:11:22.000000000 -0800
    91 +++ lib/Target/Sparc/SparcRegisterInfo.td	2016-06-29 17:37:09.214126550 -0800
   116 +++ lib/Target/Sparc/SparcRegisterInfo.td	2016-06-29 17:37:09.214126550 -0800
    92 @@ -56,7 +56,9 @@
   117 @@ -56,7 +56,9 @@
    93  }
   118  }