2020-01-20 19:21:45 -08:00
const std = @import ( " ../std.zig " ) ;
2020-02-19 18:30:36 -08:00
const CpuFeature = std . Target . Cpu . Feature ;
const CpuModel = std . Target . Cpu . Model ;
2020-01-20 19:21:45 -08:00
pub const Feature = enum {
deprecated_v8 ,
detectroundchange ,
fixallfdivsqrt ,
hard_quad_float ,
hasleoncasa ,
hasumacsmac ,
insertnopload ,
leon ,
leoncyclecounter ,
leonpwrpsr ,
no_fmuls ,
no_fsmuld ,
popc ,
soft_float ,
soft_mul_div ,
v9 ,
vis ,
vis2 ,
vis3 ,
} ;
2020-02-19 18:30:36 -08:00
pub usingnamespace CpuFeature . feature_set_fns ( Feature ) ;
2020-01-20 19:21:45 -08:00
pub const all_features = blk : {
const len = @typeInfo ( Feature ) . Enum . fields . len ;
2020-02-19 18:30:36 -08:00
std . debug . assert ( len < = CpuFeature . Set . needed_bit_count ) ;
var result : [ len ] CpuFeature = undefined ;
2020-01-20 19:21:45 -08:00
result [ @enumToInt ( Feature . deprecated_v8 ) ] = . {
. llvm_name = " deprecated-v8 " ,
. description = " Enable deprecated V8 instructions in V9 mode " ,
2020-01-21 17:11:36 -08:00
. dependencies = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
result [ @enumToInt ( Feature . detectroundchange ) ] = . {
. llvm_name = " detectroundchange " ,
. description = " LEON3 erratum detection: Detects any rounding mode change request: use only the round-to-nearest rounding mode " ,
2020-01-21 17:11:36 -08:00
. dependencies = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
result [ @enumToInt ( Feature . fixallfdivsqrt ) ] = . {
. llvm_name = " fixallfdivsqrt " ,
. description = " LEON erratum fix: Fix FDIVS/FDIVD/FSQRTS/FSQRTD instructions with NOPs and floating-point store " ,
2020-01-21 17:11:36 -08:00
. dependencies = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
result [ @enumToInt ( Feature . hard_quad_float ) ] = . {
. llvm_name = " hard-quad-float " ,
. description = " Enable quad-word floating point instructions " ,
2020-01-21 17:11:36 -08:00
. dependencies = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
result [ @enumToInt ( Feature . hasleoncasa ) ] = . {
. llvm_name = " hasleoncasa " ,
. description = " Enable CASA instruction for LEON3 and LEON4 processors " ,
2020-01-21 17:11:36 -08:00
. dependencies = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
result [ @enumToInt ( Feature . hasumacsmac ) ] = . {
. llvm_name = " hasumacsmac " ,
. description = " Enable UMAC and SMAC for LEON3 and LEON4 processors " ,
2020-01-21 17:11:36 -08:00
. dependencies = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
result [ @enumToInt ( Feature . insertnopload ) ] = . {
. llvm_name = " insertnopload " ,
. description = " LEON3 erratum fix: Insert a NOP instruction after every single-cycle load instruction when the next instruction is another load/store instruction " ,
2020-01-21 17:11:36 -08:00
. dependencies = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
result [ @enumToInt ( Feature . leon ) ] = . {
. llvm_name = " leon " ,
. description = " Enable LEON extensions " ,
2020-01-21 17:11:36 -08:00
. dependencies = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
result [ @enumToInt ( Feature . leoncyclecounter ) ] = . {
. llvm_name = " leoncyclecounter " ,
. description = " Use the Leon cycle counter register " ,
2020-01-21 17:11:36 -08:00
. dependencies = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
result [ @enumToInt ( Feature . leonpwrpsr ) ] = . {
. llvm_name = " leonpwrpsr " ,
. description = " Enable the PWRPSR instruction " ,
2020-01-21 17:11:36 -08:00
. dependencies = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
result [ @enumToInt ( Feature . no_fmuls ) ] = . {
. llvm_name = " no-fmuls " ,
. description = " Disable the fmuls instruction. " ,
2020-01-21 17:11:36 -08:00
. dependencies = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
result [ @enumToInt ( Feature . no_fsmuld ) ] = . {
. llvm_name = " no-fsmuld " ,
. description = " Disable the fsmuld instruction. " ,
2020-01-21 17:11:36 -08:00
. dependencies = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
result [ @enumToInt ( Feature . popc ) ] = . {
. llvm_name = " popc " ,
. description = " Use the popc (population count) instruction " ,
2020-01-21 17:11:36 -08:00
. dependencies = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
result [ @enumToInt ( Feature . soft_float ) ] = . {
. llvm_name = " soft-float " ,
. description = " Use software emulation for floating point " ,
2020-01-21 17:11:36 -08:00
. dependencies = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
result [ @enumToInt ( Feature . soft_mul_div ) ] = . {
. llvm_name = " soft-mul-div " ,
. description = " Use software emulation for integer multiply and divide " ,
2020-01-21 17:11:36 -08:00
. dependencies = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
result [ @enumToInt ( Feature . v9 ) ] = . {
. llvm_name = " v9 " ,
. description = " Enable SPARC-V9 instructions " ,
2020-01-21 17:11:36 -08:00
. dependencies = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
result [ @enumToInt ( Feature . vis ) ] = . {
. llvm_name = " vis " ,
. description = " Enable UltraSPARC Visual Instruction Set extensions " ,
2020-01-21 17:11:36 -08:00
. dependencies = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
result [ @enumToInt ( Feature . vis2 ) ] = . {
. llvm_name = " vis2 " ,
. description = " Enable Visual Instruction Set extensions II " ,
2020-01-21 17:11:36 -08:00
. dependencies = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
result [ @enumToInt ( Feature . vis3 ) ] = . {
. llvm_name = " vis3 " ,
. description = " Enable Visual Instruction Set extensions III " ,
2020-01-21 17:11:36 -08:00
. dependencies = featureSet ( & [ _ ] Feature { } ) ,
2020-01-21 16:40:44 -08:00
} ;
const ti = @typeInfo ( Feature ) ;
for ( result ) | * elem , i | {
elem . index = i ;
elem . name = ti . Enum . fields [ i ] . name ;
}
2020-01-20 19:21:45 -08:00
break : blk result ;
} ;
pub const cpu = struct {
2020-02-19 18:30:36 -08:00
pub const at697e = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " at697e " ,
. llvm_name = " at697e " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. insertnopload ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const at697f = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " at697f " ,
. llvm_name = " at697f " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. insertnopload ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const f934 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " f934 " ,
. llvm_name = " f934 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
2020-02-19 18:30:36 -08:00
pub const generic = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " generic " ,
. llvm_name = " generic " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
2020-02-19 18:30:36 -08:00
pub const gr712rc = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " gr712rc " ,
. llvm_name = " gr712rc " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. hasleoncasa ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const gr740 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " gr740 " ,
. llvm_name = " gr740 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. hasleoncasa ,
. hasumacsmac ,
. leon ,
. leoncyclecounter ,
. leonpwrpsr ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const hypersparc = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " hypersparc " ,
. llvm_name = " hypersparc " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
2020-02-19 18:30:36 -08:00
pub const leon2 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " leon2 " ,
. llvm_name = " leon2 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const leon3 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " leon3 " ,
. llvm_name = " leon3 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. hasumacsmac ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const leon4 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " leon4 " ,
. llvm_name = " leon4 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. hasleoncasa ,
. hasumacsmac ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const ma2080 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " ma2080 " ,
. llvm_name = " ma2080 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. hasleoncasa ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const ma2085 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " ma2085 " ,
. llvm_name = " ma2085 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. hasleoncasa ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const ma2100 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " ma2100 " ,
. llvm_name = " ma2100 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. hasleoncasa ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const ma2150 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " ma2150 " ,
. llvm_name = " ma2150 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. hasleoncasa ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const ma2155 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " ma2155 " ,
. llvm_name = " ma2155 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. hasleoncasa ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const ma2450 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " ma2450 " ,
. llvm_name = " ma2450 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. hasleoncasa ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const ma2455 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " ma2455 " ,
. llvm_name = " ma2455 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. hasleoncasa ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const ma2480 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " ma2480 " ,
. llvm_name = " ma2480 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. hasleoncasa ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const ma2485 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " ma2485 " ,
. llvm_name = " ma2485 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. hasleoncasa ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const ma2x5x = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " ma2x5x " ,
. llvm_name = " ma2x5x " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. hasleoncasa ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const ma2x8x = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " ma2x8x " ,
. llvm_name = " ma2x8x " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. hasleoncasa ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const myriad2 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " myriad2 " ,
. llvm_name = " myriad2 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. hasleoncasa ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const myriad2_1 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " myriad2_1 " ,
. llvm_name = " myriad2.1 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. hasleoncasa ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const myriad2_2 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " myriad2_2 " ,
. llvm_name = " myriad2.2 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. hasleoncasa ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const myriad2_3 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " myriad2_3 " ,
. llvm_name = " myriad2.3 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. hasleoncasa ,
. leon ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const niagara = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " niagara " ,
. llvm_name = " niagara " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. deprecated_v8 ,
. v9 ,
. vis ,
. vis2 ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const niagara2 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " niagara2 " ,
. llvm_name = " niagara2 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. deprecated_v8 ,
. popc ,
. v9 ,
. vis ,
. vis2 ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const niagara3 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " niagara3 " ,
. llvm_name = " niagara3 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. deprecated_v8 ,
. popc ,
. v9 ,
. vis ,
. vis2 ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const niagara4 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " niagara4 " ,
. llvm_name = " niagara4 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. deprecated_v8 ,
. popc ,
. v9 ,
. vis ,
. vis2 ,
. vis3 ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const sparclet = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " sparclet " ,
. llvm_name = " sparclet " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
2020-02-19 18:30:36 -08:00
pub const sparclite = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " sparclite " ,
. llvm_name = " sparclite " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
2020-02-19 18:30:36 -08:00
pub const sparclite86x = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " sparclite86x " ,
. llvm_name = " sparclite86x " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
2020-02-19 18:30:36 -08:00
pub const supersparc = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " supersparc " ,
. llvm_name = " supersparc " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
2020-02-19 18:30:36 -08:00
pub const tsc701 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " tsc701 " ,
. llvm_name = " tsc701 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
2020-02-19 18:30:36 -08:00
pub const ultrasparc = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " ultrasparc " ,
. llvm_name = " ultrasparc " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. deprecated_v8 ,
. v9 ,
. vis ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const ultrasparc3 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " ultrasparc3 " ,
. llvm_name = " ultrasparc3 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. deprecated_v8 ,
. v9 ,
. vis ,
. vis2 ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const ut699 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " ut699 " ,
. llvm_name = " ut699 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. fixallfdivsqrt ,
. insertnopload ,
. leon ,
. no_fmuls ,
. no_fsmuld ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const v7 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " v7 " ,
. llvm_name = " v7 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. no_fsmuld ,
. soft_mul_div ,
} ) ,
} ;
2020-02-19 18:30:36 -08:00
pub const v8 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " v8 " ,
. llvm_name = " v8 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature { } ) ,
2020-01-20 19:21:45 -08:00
} ;
2020-02-19 18:30:36 -08:00
pub const v9 = CpuModel {
2020-01-20 19:21:45 -08:00
. name = " v9 " ,
. llvm_name = " v9 " ,
2020-01-21 17:11:36 -08:00
. features = featureSet ( & [ _ ] Feature {
2020-01-20 19:21:45 -08:00
. v9 ,
} ) ,
} ;
} ;
/// All sparc CPUs, sorted alphabetically by name.
/// TODO: Replace this with usage of `std.meta.declList`. It does work, but stage1
/// compiler has inefficient memory and CPU usage, affecting build times.
2020-02-19 18:30:36 -08:00
pub const all_cpus = & [ _ ] * const CpuModel {
2020-01-20 19:21:45 -08:00
& cpu . at697e ,
& cpu . at697f ,
& cpu . f934 ,
& cpu . generic ,
& cpu . gr712rc ,
& cpu . gr740 ,
& cpu . hypersparc ,
& cpu . leon2 ,
& cpu . leon3 ,
& cpu . leon4 ,
& cpu . ma2080 ,
& cpu . ma2085 ,
& cpu . ma2100 ,
& cpu . ma2150 ,
& cpu . ma2155 ,
& cpu . ma2450 ,
& cpu . ma2455 ,
& cpu . ma2480 ,
& cpu . ma2485 ,
& cpu . ma2x5x ,
& cpu . ma2x8x ,
& cpu . myriad2 ,
& cpu . myriad2_1 ,
& cpu . myriad2_2 ,
& cpu . myriad2_3 ,
& cpu . niagara ,
& cpu . niagara2 ,
& cpu . niagara3 ,
& cpu . niagara4 ,
& cpu . sparclet ,
& cpu . sparclite ,
& cpu . sparclite86x ,
& cpu . supersparc ,
& cpu . tsc701 ,
& cpu . ultrasparc ,
& cpu . ultrasparc3 ,
& cpu . ut699 ,
& cpu . v7 ,
& cpu . v8 ,
& cpu . v9 ,
2019-12-20 16:27:13 -08:00
} ;