• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2017 Rene Rivera
2# Distributed under the Boost Software License, Version 1.0.
3# (See accompanying file LICENSE_1_0.txt or copy at
4# http://www.boost.org/LICENSE_1_0.txt)
5
6import feature ;
7
8#| tag::doc[]
9
10[[bbv2.builtin.features.instruction-set]]`instruction-set`::
11*Allowed values:* depends on the used toolset.
12+
13Specifies for which specific instruction set the code should be generated. The
14code in general might not run on processors with older/different instruction
15sets.
16+
17While B2 allows a large set of possible values for this features,
18whether a given value works depends on which compiler you use. Please see
19the section <<C++ Compilers>> for details.
20
21|# # end::doc[]
22
23feature.feature instruction-set
24    :
25        # x86 and x86-64
26        native i486 i586 i686 pentium pentium-mmx pentiumpro pentium2 pentium3
27        pentium3m pentium-m pentium4 pentium4m prescott nocona core2 corei7 corei7-avx core-avx-i
28        conroe conroe-xe conroe-l allendale merom merom-xe kentsfield kentsfield-xe penryn wolfdale
29        yorksfield nehalem sandy-bridge ivy-bridge haswell broadwell skylake skylake-avx512 cannonlake
30        icelake-client icelake-server cascadelake cooperlake tigerlake
31        atom
32        k6 k6-2 k6-3 athlon athlon-tbird athlon-4 athlon-xp athlon-mp k8 opteron athlon64 athlon-fx
33        k8-sse3 opteron-sse3 athlon64-sse3 amdfam10 barcelona bdver1 bdver2 bdver3 bdver4 btver1
34        btver2 znver1 znver2
35        winchip-c6 winchip2
36        c3 c3-2 c7
37
38        # ia64
39        itanium itanium1 merced itanium2 mckinley
40
41        # Sparc
42        v7 cypress v8 supersparc sparclite hypersparc sparclite86x f930 f934
43        sparclet tsc701 v9 ultrasparc ultrasparc3
44
45        # RS/6000 & PowerPC
46        401 403 405 405fp 440 440fp 505 601 602 603 603e 604 604e 620 630 740 7400
47        7450 750 801 821 823 860 970 8540 power-common ec603e g3 g4 g5 power power2
48        power3 power4 power5 powerpc powerpc64 rios rios1 rsc rios2 rs64a
49
50        # MIPS
51        4kc 4kp 5kc 20kc m4k r2000 r3000 r3900 r4000 r4100 r4300 r4400 r4600 r4650
52        r6000 r8000 rm7000 rm9000 orion sb1 vr4100 vr4111 vr4120 vr4130 vr4300
53        vr5000 vr5400 vr5500
54
55        # HP/PA-RISC
56        700 7100 7100lc 7200 7300 8000
57
58        # Advanced RISC Machines
59        armv2 armv2a armv3 armv3m armv4 armv4t armv5 armv5t armv5te armv6 armv6j iwmmxt ep9312
60        armv7 armv7s
61
62        # z Systems (aka s390x)
63        z196 zEC12 z13 z14 z15
64
65    :
66        propagated optional
67    ;
68