| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759 |
- // Begin X86/GCC/Linux tests ----------------
- //
- // RUN: %clang -march=i386 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_I386_M32
- // CHECK_I386_M32: #define __i386 1
- // CHECK_I386_M32: #define __i386__ 1
- // CHECK_I386_M32: #define __tune_i386__ 1
- // CHECK_I386_M32: #define i386 1
- // RUN: not %clang -march=i386 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_I386_M64
- // CHECK_I386_M64: error:
- //
- // RUN: %clang -march=i486 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_I486_M32
- // CHECK_I486_M32: #define __i386 1
- // CHECK_I486_M32: #define __i386__ 1
- // CHECK_I486_M32: #define __i486 1
- // CHECK_I486_M32: #define __i486__ 1
- // CHECK_I486_M32: #define __tune_i486__ 1
- // CHECK_I486_M32: #define i386 1
- // RUN: not %clang -march=i486 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_I486_M64
- // CHECK_I486_M64: error:
- //
- // RUN: %clang -march=i586 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_I586_M32
- // CHECK_I586_M32: #define __i386 1
- // CHECK_I586_M32: #define __i386__ 1
- // CHECK_I586_M32: #define __i586 1
- // CHECK_I586_M32: #define __i586__ 1
- // CHECK_I586_M32: #define __pentium 1
- // CHECK_I586_M32: #define __pentium__ 1
- // CHECK_I586_M32: #define __tune_i586__ 1
- // CHECK_I586_M32: #define __tune_pentium__ 1
- // CHECK_I586_M32: #define i386 1
- // RUN: not %clang -march=i586 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_I586_M64
- // CHECK_I586_M64: error:
- //
- // RUN: %clang -march=pentium -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M32
- // CHECK_PENTIUM_M32: #define __i386 1
- // CHECK_PENTIUM_M32: #define __i386__ 1
- // CHECK_PENTIUM_M32: #define __i586 1
- // CHECK_PENTIUM_M32: #define __i586__ 1
- // CHECK_PENTIUM_M32: #define __pentium 1
- // CHECK_PENTIUM_M32: #define __pentium__ 1
- // CHECK_PENTIUM_M32: #define __tune_i586__ 1
- // CHECK_PENTIUM_M32: #define __tune_pentium__ 1
- // CHECK_PENTIUM_M32: #define i386 1
- // RUN: not %clang -march=pentium -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M64
- // CHECK_PENTIUM_M64: error:
- //
- // RUN: %clang -march=pentium-mmx -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_MMX_M32
- // CHECK_PENTIUM_MMX_M32: #define __MMX__ 1
- // CHECK_PENTIUM_MMX_M32: #define __i386 1
- // CHECK_PENTIUM_MMX_M32: #define __i386__ 1
- // CHECK_PENTIUM_MMX_M32: #define __i586 1
- // CHECK_PENTIUM_MMX_M32: #define __i586__ 1
- // CHECK_PENTIUM_MMX_M32: #define __pentium 1
- // CHECK_PENTIUM_MMX_M32: #define __pentium__ 1
- // CHECK_PENTIUM_MMX_M32: #define __pentium_mmx__ 1
- // CHECK_PENTIUM_MMX_M32: #define __tune_i586__ 1
- // CHECK_PENTIUM_MMX_M32: #define __tune_pentium__ 1
- // CHECK_PENTIUM_MMX_M32: #define __tune_pentium_mmx__ 1
- // CHECK_PENTIUM_MMX_M32: #define i386 1
- // RUN: not %clang -march=pentium-mmx -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_MMX_M64
- // CHECK_PENTIUM_MMX_M64: error:
- //
- // RUN: %clang -march=winchip-c6 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP_C6_M32
- // CHECK_WINCHIP_C6_M32: #define __MMX__ 1
- // CHECK_WINCHIP_C6_M32: #define __i386 1
- // CHECK_WINCHIP_C6_M32: #define __i386__ 1
- // CHECK_WINCHIP_C6_M32: #define __i486 1
- // CHECK_WINCHIP_C6_M32: #define __i486__ 1
- // CHECK_WINCHIP_C6_M32: #define __tune_i486__ 1
- // CHECK_WINCHIP_C6_M32: #define i386 1
- // RUN: not %clang -march=winchip-c6 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP_C6_M64
- // CHECK_WINCHIP_C6_M64: error:
- //
- // RUN: %clang -march=winchip2 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP2_M32
- // CHECK_WINCHIP2_M32: #define __3dNOW__ 1
- // CHECK_WINCHIP2_M32: #define __MMX__ 1
- // CHECK_WINCHIP2_M32: #define __i386 1
- // CHECK_WINCHIP2_M32: #define __i386__ 1
- // CHECK_WINCHIP2_M32: #define __i486 1
- // CHECK_WINCHIP2_M32: #define __i486__ 1
- // CHECK_WINCHIP2_M32: #define __tune_i486__ 1
- // CHECK_WINCHIP2_M32: #define i386 1
- // RUN: not %clang -march=winchip2 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP2_M64
- // CHECK_WINCHIP2_M64: error:
- //
- // RUN: %clang -march=c3 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_C3_M32
- // CHECK_C3_M32: #define __3dNOW__ 1
- // CHECK_C3_M32: #define __MMX__ 1
- // CHECK_C3_M32: #define __i386 1
- // CHECK_C3_M32: #define __i386__ 1
- // CHECK_C3_M32: #define __i486 1
- // CHECK_C3_M32: #define __i486__ 1
- // CHECK_C3_M32: #define __tune_i486__ 1
- // CHECK_C3_M32: #define i386 1
- // RUN: not %clang -march=c3 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_C3_M64
- // CHECK_C3_M64: error:
- //
- // RUN: %clang -march=c3-2 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_C3_2_M32
- // CHECK_C3_2_M32: #define __MMX__ 1
- // CHECK_C3_2_M32: #define __SSE__ 1
- // CHECK_C3_2_M32: #define __i386 1
- // CHECK_C3_2_M32: #define __i386__ 1
- // CHECK_C3_2_M32: #define __i686 1
- // CHECK_C3_2_M32: #define __i686__ 1
- // CHECK_C3_2_M32: #define __pentiumpro 1
- // CHECK_C3_2_M32: #define __pentiumpro__ 1
- // CHECK_C3_2_M32: #define __tune_i686__ 1
- // CHECK_C3_2_M32: #define __tune_pentium2__ 1
- // CHECK_C3_2_M32: #define __tune_pentiumpro__ 1
- // CHECK_C3_2_M32: #define i386 1
- // RUN: not %clang -march=c3-2 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_C3_2_M64
- // CHECK_C3_2_M64: error:
- //
- // RUN: %clang -march=i686 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_I686_M32
- // CHECK_I686_M32: #define __i386 1
- // CHECK_I686_M32: #define __i386__ 1
- // CHECK_I686_M32: #define __i686 1
- // CHECK_I686_M32: #define __i686__ 1
- // CHECK_I686_M32: #define __pentiumpro 1
- // CHECK_I686_M32: #define __pentiumpro__ 1
- // CHECK_I686_M32: #define i386 1
- // RUN: not %clang -march=i686 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_I686_M64
- // CHECK_I686_M64: error:
- //
- // RUN: %clang -march=pentiumpro -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUMPRO_M32
- // CHECK_PENTIUMPRO_M32: #define __i386 1
- // CHECK_PENTIUMPRO_M32: #define __i386__ 1
- // CHECK_PENTIUMPRO_M32: #define __i686 1
- // CHECK_PENTIUMPRO_M32: #define __i686__ 1
- // CHECK_PENTIUMPRO_M32: #define __pentiumpro 1
- // CHECK_PENTIUMPRO_M32: #define __pentiumpro__ 1
- // CHECK_PENTIUMPRO_M32: #define __tune_i686__ 1
- // CHECK_PENTIUMPRO_M32: #define __tune_pentiumpro__ 1
- // CHECK_PENTIUMPRO_M32: #define i386 1
- // RUN: not %clang -march=pentiumpro -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUMPRO_M64
- // CHECK_PENTIUMPRO_M64: error:
- //
- // RUN: %clang -march=pentium2 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM2_M32
- // CHECK_PENTIUM2_M32: #define __MMX__ 1
- // CHECK_PENTIUM2_M32: #define __i386 1
- // CHECK_PENTIUM2_M32: #define __i386__ 1
- // CHECK_PENTIUM2_M32: #define __i686 1
- // CHECK_PENTIUM2_M32: #define __i686__ 1
- // CHECK_PENTIUM2_M32: #define __pentiumpro 1
- // CHECK_PENTIUM2_M32: #define __pentiumpro__ 1
- // CHECK_PENTIUM2_M32: #define __tune_i686__ 1
- // CHECK_PENTIUM2_M32: #define __tune_pentium2__ 1
- // CHECK_PENTIUM2_M32: #define __tune_pentiumpro__ 1
- // CHECK_PENTIUM2_M32: #define i386 1
- // RUN: not %clang -march=pentium2 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM2_M64
- // CHECK_PENTIUM2_M64: error:
- //
- // RUN: %clang -march=pentium3 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3_M32
- // CHECK_PENTIUM3_M32: #define __MMX__ 1
- // CHECK_PENTIUM3_M32: #define __SSE__ 1
- // CHECK_PENTIUM3_M32: #define __i386 1
- // CHECK_PENTIUM3_M32: #define __i386__ 1
- // CHECK_PENTIUM3_M32: #define __i686 1
- // CHECK_PENTIUM3_M32: #define __i686__ 1
- // CHECK_PENTIUM3_M32: #define __pentiumpro 1
- // CHECK_PENTIUM3_M32: #define __pentiumpro__ 1
- // CHECK_PENTIUM3_M32: #define __tune_i686__ 1
- // CHECK_PENTIUM3_M32: #define __tune_pentium2__ 1
- // CHECK_PENTIUM3_M32: #define __tune_pentium3__ 1
- // CHECK_PENTIUM3_M32: #define __tune_pentiumpro__ 1
- // CHECK_PENTIUM3_M32: #define i386 1
- // RUN: not %clang -march=pentium3 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3_M64
- // CHECK_PENTIUM3_M64: error:
- //
- // RUN: %clang -march=pentium3m -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3M_M32
- // CHECK_PENTIUM3M_M32: #define __MMX__ 1
- // CHECK_PENTIUM3M_M32: #define __SSE__ 1
- // CHECK_PENTIUM3M_M32: #define __i386 1
- // CHECK_PENTIUM3M_M32: #define __i386__ 1
- // CHECK_PENTIUM3M_M32: #define __i686 1
- // CHECK_PENTIUM3M_M32: #define __i686__ 1
- // CHECK_PENTIUM3M_M32: #define __pentiumpro 1
- // CHECK_PENTIUM3M_M32: #define __pentiumpro__ 1
- // CHECK_PENTIUM3M_M32: #define __tune_i686__ 1
- // CHECK_PENTIUM3M_M32: #define __tune_pentiumpro__ 1
- // CHECK_PENTIUM3M_M32: #define i386 1
- // RUN: not %clang -march=pentium3m -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3M_M64
- // CHECK_PENTIUM3M_M64: error:
- //
- // RUN: %clang -march=pentium-m -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M_M32
- // CHECK_PENTIUM_M_M32: #define __MMX__ 1
- // CHECK_PENTIUM_M_M32: #define __SSE2__ 1
- // CHECK_PENTIUM_M_M32: #define __SSE__ 1
- // CHECK_PENTIUM_M_M32: #define __i386 1
- // CHECK_PENTIUM_M_M32: #define __i386__ 1
- // CHECK_PENTIUM_M_M32: #define __i686 1
- // CHECK_PENTIUM_M_M32: #define __i686__ 1
- // CHECK_PENTIUM_M_M32: #define __pentiumpro 1
- // CHECK_PENTIUM_M_M32: #define __pentiumpro__ 1
- // CHECK_PENTIUM_M_M32: #define __tune_i686__ 1
- // CHECK_PENTIUM_M_M32: #define __tune_pentiumpro__ 1
- // CHECK_PENTIUM_M_M32: #define i386 1
- // RUN: not %clang -march=pentium-m -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M_M64
- // CHECK_PENTIUM_M_M64: error:
- //
- // RUN: %clang -march=pentium4 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4_M32
- // CHECK_PENTIUM4_M32: #define __MMX__ 1
- // CHECK_PENTIUM4_M32: #define __SSE2__ 1
- // CHECK_PENTIUM4_M32: #define __SSE__ 1
- // CHECK_PENTIUM4_M32: #define __i386 1
- // CHECK_PENTIUM4_M32: #define __i386__ 1
- // CHECK_PENTIUM4_M32: #define __pentium4 1
- // CHECK_PENTIUM4_M32: #define __pentium4__ 1
- // CHECK_PENTIUM4_M32: #define __tune_pentium4__ 1
- // CHECK_PENTIUM4_M32: #define i386 1
- // RUN: not %clang -march=pentium4 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4_M64
- // CHECK_PENTIUM4_M64: error:
- //
- // RUN: %clang -march=pentium4m -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4M_M32
- // CHECK_PENTIUM4M_M32: #define __MMX__ 1
- // CHECK_PENTIUM4M_M32: #define __SSE2__ 1
- // CHECK_PENTIUM4M_M32: #define __SSE__ 1
- // CHECK_PENTIUM4M_M32: #define __i386 1
- // CHECK_PENTIUM4M_M32: #define __i386__ 1
- // CHECK_PENTIUM4M_M32: #define __pentium4 1
- // CHECK_PENTIUM4M_M32: #define __pentium4__ 1
- // CHECK_PENTIUM4M_M32: #define __tune_pentium4__ 1
- // CHECK_PENTIUM4M_M32: #define i386 1
- // RUN: not %clang -march=pentium4m -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4M_M64
- // CHECK_PENTIUM4M_M64: error:
- //
- // RUN: %clang -march=prescott -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PRESCOTT_M32
- // CHECK_PRESCOTT_M32: #define __MMX__ 1
- // CHECK_PRESCOTT_M32: #define __SSE2__ 1
- // CHECK_PRESCOTT_M32: #define __SSE3__ 1
- // CHECK_PRESCOTT_M32: #define __SSE__ 1
- // CHECK_PRESCOTT_M32: #define __i386 1
- // CHECK_PRESCOTT_M32: #define __i386__ 1
- // CHECK_PRESCOTT_M32: #define __nocona 1
- // CHECK_PRESCOTT_M32: #define __nocona__ 1
- // CHECK_PRESCOTT_M32: #define __tune_nocona__ 1
- // CHECK_PRESCOTT_M32: #define i386 1
- // RUN: not %clang -march=prescott -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PRESCOTT_M64
- // CHECK_PRESCOTT_M64: error:
- //
- // RUN: %clang -march=nocona -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_NOCONA_M32
- // CHECK_NOCONA_M32: #define __MMX__ 1
- // CHECK_NOCONA_M32: #define __SSE2__ 1
- // CHECK_NOCONA_M32: #define __SSE3__ 1
- // CHECK_NOCONA_M32: #define __SSE__ 1
- // CHECK_NOCONA_M32: #define __i386 1
- // CHECK_NOCONA_M32: #define __i386__ 1
- // CHECK_NOCONA_M32: #define __nocona 1
- // CHECK_NOCONA_M32: #define __nocona__ 1
- // CHECK_NOCONA_M32: #define __tune_nocona__ 1
- // CHECK_NOCONA_M32: #define i386 1
- // RUN: %clang -march=nocona -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_NOCONA_M64
- // CHECK_NOCONA_M64: #define __MMX__ 1
- // CHECK_NOCONA_M64: #define __SSE2_MATH__ 1
- // CHECK_NOCONA_M64: #define __SSE2__ 1
- // CHECK_NOCONA_M64: #define __SSE3__ 1
- // CHECK_NOCONA_M64: #define __SSE_MATH__ 1
- // CHECK_NOCONA_M64: #define __SSE__ 1
- // CHECK_NOCONA_M64: #define __amd64 1
- // CHECK_NOCONA_M64: #define __amd64__ 1
- // CHECK_NOCONA_M64: #define __nocona 1
- // CHECK_NOCONA_M64: #define __nocona__ 1
- // CHECK_NOCONA_M64: #define __tune_nocona__ 1
- // CHECK_NOCONA_M64: #define __x86_64 1
- // CHECK_NOCONA_M64: #define __x86_64__ 1
- //
- // RUN: %clang -march=core2 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_CORE2_M32
- // CHECK_CORE2_M32: #define __MMX__ 1
- // CHECK_CORE2_M32: #define __SSE2__ 1
- // CHECK_CORE2_M32: #define __SSE3__ 1
- // CHECK_CORE2_M32: #define __SSE__ 1
- // CHECK_CORE2_M32: #define __SSSE3__ 1
- // CHECK_CORE2_M32: #define __core2 1
- // CHECK_CORE2_M32: #define __core2__ 1
- // CHECK_CORE2_M32: #define __i386 1
- // CHECK_CORE2_M32: #define __i386__ 1
- // CHECK_CORE2_M32: #define __tune_core2__ 1
- // CHECK_CORE2_M32: #define i386 1
- // RUN: %clang -march=core2 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_CORE2_M64
- // CHECK_CORE2_M64: #define __MMX__ 1
- // CHECK_CORE2_M64: #define __SSE2_MATH__ 1
- // CHECK_CORE2_M64: #define __SSE2__ 1
- // CHECK_CORE2_M64: #define __SSE3__ 1
- // CHECK_CORE2_M64: #define __SSE_MATH__ 1
- // CHECK_CORE2_M64: #define __SSE__ 1
- // CHECK_CORE2_M64: #define __SSSE3__ 1
- // CHECK_CORE2_M64: #define __amd64 1
- // CHECK_CORE2_M64: #define __amd64__ 1
- // CHECK_CORE2_M64: #define __core2 1
- // CHECK_CORE2_M64: #define __core2__ 1
- // CHECK_CORE2_M64: #define __tune_core2__ 1
- // CHECK_CORE2_M64: #define __x86_64 1
- // CHECK_CORE2_M64: #define __x86_64__ 1
- //
- // RUN: %clang -march=corei7 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_COREI7_M32
- // CHECK_COREI7_M32: #define __MMX__ 1
- // CHECK_COREI7_M32: #define __POPCNT__ 1
- // CHECK_COREI7_M32: #define __SSE2__ 1
- // CHECK_COREI7_M32: #define __SSE3__ 1
- // CHECK_COREI7_M32: #define __SSE4_1__ 1
- // CHECK_COREI7_M32: #define __SSE4_2__ 1
- // CHECK_COREI7_M32: #define __SSE__ 1
- // CHECK_COREI7_M32: #define __SSSE3__ 1
- // CHECK_COREI7_M32: #define __corei7 1
- // CHECK_COREI7_M32: #define __corei7__ 1
- // CHECK_COREI7_M32: #define __i386 1
- // CHECK_COREI7_M32: #define __i386__ 1
- // CHECK_COREI7_M32: #define __tune_corei7__ 1
- // CHECK_COREI7_M32: #define i386 1
- // RUN: %clang -march=corei7 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_COREI7_M64
- // CHECK_COREI7_M64: #define __MMX__ 1
- // CHECK_COREI7_M64: #define __POPCNT__ 1
- // CHECK_COREI7_M64: #define __SSE2_MATH__ 1
- // CHECK_COREI7_M64: #define __SSE2__ 1
- // CHECK_COREI7_M64: #define __SSE3__ 1
- // CHECK_COREI7_M64: #define __SSE4_1__ 1
- // CHECK_COREI7_M64: #define __SSE4_2__ 1
- // CHECK_COREI7_M64: #define __SSE_MATH__ 1
- // CHECK_COREI7_M64: #define __SSE__ 1
- // CHECK_COREI7_M64: #define __SSSE3__ 1
- // CHECK_COREI7_M64: #define __amd64 1
- // CHECK_COREI7_M64: #define __amd64__ 1
- // CHECK_COREI7_M64: #define __corei7 1
- // CHECK_COREI7_M64: #define __corei7__ 1
- // CHECK_COREI7_M64: #define __tune_corei7__ 1
- // CHECK_COREI7_M64: #define __x86_64 1
- // CHECK_COREI7_M64: #define __x86_64__ 1
- //
- // RUN: %clang -march=corei7-avx -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_COREI7_AVX_M32
- // CHECK_COREI7_AVX_M32: #define __AES__ 1
- // CHECK_COREI7_AVX_M32: #define __AVX__ 1
- // CHECK_COREI7_AVX_M32: #define __MMX__ 1
- // CHECK_COREI7_AVX_M32: #define __PCLMUL__ 1
- // CHECK_COREI7_AVX_M32-NOT: __RDRND__
- // CHECK_COREI7_AVX_M32: #define __POPCNT__ 1
- // CHECK_COREI7_AVX_M32: #define __SSE2__ 1
- // CHECK_COREI7_AVX_M32: #define __SSE3__ 1
- // CHECK_COREI7_AVX_M32: #define __SSE4_1__ 1
- // CHECK_COREI7_AVX_M32: #define __SSE4_2__ 1
- // CHECK_COREI7_AVX_M32: #define __SSE__ 1
- // CHECK_COREI7_AVX_M32: #define __SSSE3__ 1
- // CHECK_COREI7_AVX_M32: #define __corei7 1
- // CHECK_COREI7_AVX_M32: #define __corei7__ 1
- // CHECK_COREI7_AVX_M32: #define __i386 1
- // CHECK_COREI7_AVX_M32: #define __i386__ 1
- // CHECK_COREI7_AVX_M32: #define __tune_corei7__ 1
- // CHECK_COREI7_AVX_M32: #define i386 1
- // RUN: %clang -march=corei7-avx -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_COREI7_AVX_M64
- // CHECK_COREI7_AVX_M64: #define __AES__ 1
- // CHECK_COREI7_AVX_M64: #define __AVX__ 1
- // CHECK_COREI7_AVX_M64: #define __MMX__ 1
- // CHECK_COREI7_AVX_M64: #define __PCLMUL__ 1
- // CHECK_COREI7_AVX_M64-NOT: __RDRND__
- // CHECK_COREI7_AVX_M64: #define __POPCNT__ 1
- // CHECK_COREI7_AVX_M64: #define __SSE2_MATH__ 1
- // CHECK_COREI7_AVX_M64: #define __SSE2__ 1
- // CHECK_COREI7_AVX_M64: #define __SSE3__ 1
- // CHECK_COREI7_AVX_M64: #define __SSE4_1__ 1
- // CHECK_COREI7_AVX_M64: #define __SSE4_2__ 1
- // CHECK_COREI7_AVX_M64: #define __SSE_MATH__ 1
- // CHECK_COREI7_AVX_M64: #define __SSE__ 1
- // CHECK_COREI7_AVX_M64: #define __SSSE3__ 1
- // CHECK_COREI7_AVX_M64: #define __amd64 1
- // CHECK_COREI7_AVX_M64: #define __amd64__ 1
- // CHECK_COREI7_AVX_M64: #define __corei7 1
- // CHECK_COREI7_AVX_M64: #define __corei7__ 1
- // CHECK_COREI7_AVX_M64: #define __tune_corei7__ 1
- // CHECK_COREI7_AVX_M64: #define __x86_64 1
- // CHECK_COREI7_AVX_M64: #define __x86_64__ 1
- //
- // RUN: %clang -march=core-avx-i -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_CORE_AVX_I_M32
- // CHECK_CORE_AVX_I_M32: #define __AES__ 1
- // CHECK_CORE_AVX_I_M32: #define __AVX__ 1
- // CHECK_CORE_AVX_I_M32: #define __F16C__ 1
- // CHECK_CORE_AVX_I_M32: #define __MMX__ 1
- // CHECK_CORE_AVX_I_M32: #define __PCLMUL__ 1
- // CHECK_CORE_AVX_I_M32: #define __RDRND__ 1
- // CHECK_CORE_AVX_I_M32: #define __SSE2__ 1
- // CHECK_CORE_AVX_I_M32: #define __SSE3__ 1
- // CHECK_CORE_AVX_I_M32: #define __SSE4_1__ 1
- // CHECK_CORE_AVX_I_M32: #define __SSE4_2__ 1
- // CHECK_CORE_AVX_I_M32: #define __SSE__ 1
- // CHECK_CORE_AVX_I_M32: #define __SSSE3__ 1
- // CHECK_CORE_AVX_I_M32: #define __corei7 1
- // CHECK_CORE_AVX_I_M32: #define __corei7__ 1
- // CHECK_CORE_AVX_I_M32: #define __i386 1
- // CHECK_CORE_AVX_I_M32: #define __i386__ 1
- // CHECK_CORE_AVX_I_M32: #define __tune_corei7__ 1
- // CHECK_CORE_AVX_I_M32: #define i386 1
- // RUN: %clang -march=core-avx-i -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_CORE_AVX_I_M64
- // CHECK_CORE_AVX_I_M64: #define __AES__ 1
- // CHECK_CORE_AVX_I_M64: #define __AVX__ 1
- // CHECK_CORE_AVX_I_M64: #define __F16C__ 1
- // CHECK_CORE_AVX_I_M64: #define __MMX__ 1
- // CHECK_CORE_AVX_I_M64: #define __PCLMUL__ 1
- // CHECK_CORE_AVX_I_M64: #define __RDRND__ 1
- // CHECK_CORE_AVX_I_M64: #define __SSE2_MATH__ 1
- // CHECK_CORE_AVX_I_M64: #define __SSE2__ 1
- // CHECK_CORE_AVX_I_M64: #define __SSE3__ 1
- // CHECK_CORE_AVX_I_M64: #define __SSE4_1__ 1
- // CHECK_CORE_AVX_I_M64: #define __SSE4_2__ 1
- // CHECK_CORE_AVX_I_M64: #define __SSE_MATH__ 1
- // CHECK_CORE_AVX_I_M64: #define __SSE__ 1
- // CHECK_CORE_AVX_I_M64: #define __SSSE3__ 1
- // CHECK_CORE_AVX_I_M64: #define __amd64 1
- // CHECK_CORE_AVX_I_M64: #define __amd64__ 1
- // CHECK_CORE_AVX_I_M64: #define __corei7 1
- // CHECK_CORE_AVX_I_M64: #define __corei7__ 1
- // CHECK_CORE_AVX_I_M64: #define __tune_corei7__ 1
- // CHECK_CORE_AVX_I_M64: #define __x86_64 1
- // CHECK_CORE_AVX_I_M64: #define __x86_64__ 1
- //
- // RUN: %clang -march=core-avx2 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_CORE_AVX2_M32
- // CHECK_CORE_AVX2_M32: #define __AES__ 1
- // CHECK_CORE_AVX2_M32: #define __AVX2__ 1
- // CHECK_CORE_AVX2_M32: #define __AVX__ 1
- // CHECK_CORE_AVX2_M32: #define __BMI2__ 1
- // CHECK_CORE_AVX2_M32: #define __BMI__ 1
- // CHECK_CORE_AVX2_M32: #define __F16C__ 1
- // CHECK_CORE_AVX2_M32: #define __FMA__ 1
- // CHECK_CORE_AVX2_M32: #define __LZCNT__ 1
- // CHECK_CORE_AVX2_M32: #define __MMX__ 1
- // CHECK_CORE_AVX2_M32: #define __PCLMUL__ 1
- // CHECK_CORE_AVX2_M32: #define __POPCNT__ 1
- // CHECK_CORE_AVX2_M32: #define __RDRND__ 1
- // CHECK_CORE_AVX2_M32: #define __RTM__ 1
- // CHECK_CORE_AVX2_M32: #define __SSE2__ 1
- // CHECK_CORE_AVX2_M32: #define __SSE3__ 1
- // CHECK_CORE_AVX2_M32: #define __SSE4_1__ 1
- // CHECK_CORE_AVX2_M32: #define __SSE4_2__ 1
- // CHECK_CORE_AVX2_M32: #define __SSE__ 1
- // CHECK_CORE_AVX2_M32: #define __SSSE3__ 1
- // CHECK_CORE_AVX2_M32: #define __corei7 1
- // CHECK_CORE_AVX2_M32: #define __corei7__ 1
- // CHECK_CORE_AVX2_M32: #define __i386 1
- // CHECK_CORE_AVX2_M32: #define __i386__ 1
- // CHECK_CORE_AVX2_M32: #define __tune_corei7__ 1
- // CHECK_CORE_AVX2_M32: #define i386 1
- // RUN: %clang -march=core-avx2 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_CORE_AVX2_M64
- // CHECK_CORE_AVX2_M64: #define __AES__ 1
- // CHECK_CORE_AVX2_M64: #define __AVX2__ 1
- // CHECK_CORE_AVX2_M64: #define __AVX__ 1
- // CHECK_CORE_AVX2_M64: #define __BMI2__ 1
- // CHECK_CORE_AVX2_M64: #define __BMI__ 1
- // CHECK_CORE_AVX2_M64: #define __F16C__ 1
- // CHECK_CORE_AVX2_M64: #define __FMA__ 1
- // CHECK_CORE_AVX2_M64: #define __LZCNT__ 1
- // CHECK_CORE_AVX2_M64: #define __MMX__ 1
- // CHECK_CORE_AVX2_M64: #define __PCLMUL__ 1
- // CHECK_CORE_AVX2_M64: #define __POPCNT__ 1
- // CHECK_CORE_AVX2_M64: #define __RDRND__ 1
- // CHECK_CORE_AVX2_M64: #define __RTM__ 1
- // CHECK_CORE_AVX2_M64: #define __SSE2_MATH__ 1
- // CHECK_CORE_AVX2_M64: #define __SSE2__ 1
- // CHECK_CORE_AVX2_M64: #define __SSE3__ 1
- // CHECK_CORE_AVX2_M64: #define __SSE4_1__ 1
- // CHECK_CORE_AVX2_M64: #define __SSE4_2__ 1
- // CHECK_CORE_AVX2_M64: #define __SSE_MATH__ 1
- // CHECK_CORE_AVX2_M64: #define __SSE__ 1
- // CHECK_CORE_AVX2_M64: #define __SSSE3__ 1
- // CHECK_CORE_AVX2_M64: #define __amd64 1
- // CHECK_CORE_AVX2_M64: #define __amd64__ 1
- // CHECK_CORE_AVX2_M64: #define __corei7 1
- // CHECK_CORE_AVX2_M64: #define __corei7__ 1
- // CHECK_CORE_AVX2_M64: #define __tune_corei7__ 1
- // CHECK_CORE_AVX2_M64: #define __x86_64 1
- // CHECK_CORE_AVX2_M64: #define __x86_64__ 1
- //
- // RUN: %clang -march=broadwell -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_BROADWELL_M32
- // CHECK_BROADWELL_M32: #define __ADX__ 1
- // CHECK_BROADWELL_M32: #define __AES__ 1
- // CHECK_BROADWELL_M32: #define __AVX2__ 1
- // CHECK_BROADWELL_M32: #define __AVX__ 1
- // CHECK_BROADWELL_M32: #define __BMI2__ 1
- // CHECK_BROADWELL_M32: #define __BMI__ 1
- // CHECK_BROADWELL_M32: #define __F16C__ 1
- // CHECK_BROADWELL_M32: #define __FMA__ 1
- // CHECK_BROADWELL_M32: #define __LZCNT__ 1
- // CHECK_BROADWELL_M32: #define __MMX__ 1
- // CHECK_BROADWELL_M32: #define __PCLMUL__ 1
- // CHECK_BROADWELL_M32: #define __POPCNT__ 1
- // CHECK_BROADWELL_M32: #define __RDRND__ 1
- // CHECK_BROADWELL_M32: #define __RDSEED__ 1
- // CHECK_BROADWELL_M32: #define __RTM__ 1
- // CHECK_BROADWELL_M32: #define __SSE2__ 1
- // CHECK_BROADWELL_M32: #define __SSE3__ 1
- // CHECK_BROADWELL_M32: #define __SSE4_1__ 1
- // CHECK_BROADWELL_M32: #define __SSE4_2__ 1
- // CHECK_BROADWELL_M32: #define __SSE__ 1
- // CHECK_BROADWELL_M32: #define __SSSE3__ 1
- // CHECK_BROADWELL_M32: #define __corei7 1
- // CHECK_BROADWELL_M32: #define __corei7__ 1
- // CHECK_BROADWELL_M32: #define __i386 1
- // CHECK_BROADWELL_M32: #define __i386__ 1
- // CHECK_BROADWELL_M32: #define __tune_corei7__ 1
- // CHECK_BROADWELL_M32: #define i386 1
- // RUN: %clang -march=broadwell -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_BROADWELL_M64
- // CHECK_BROADWELL_M64: #define __ADX__ 1
- // CHECK_BROADWELL_M64: #define __AES__ 1
- // CHECK_BROADWELL_M64: #define __AVX2__ 1
- // CHECK_BROADWELL_M64: #define __AVX__ 1
- // CHECK_BROADWELL_M64: #define __BMI2__ 1
- // CHECK_BROADWELL_M64: #define __BMI__ 1
- // CHECK_BROADWELL_M64: #define __F16C__ 1
- // CHECK_BROADWELL_M64: #define __FMA__ 1
- // CHECK_BROADWELL_M64: #define __LZCNT__ 1
- // CHECK_BROADWELL_M64: #define __MMX__ 1
- // CHECK_BROADWELL_M64: #define __PCLMUL__ 1
- // CHECK_BROADWELL_M64: #define __POPCNT__ 1
- // CHECK_BROADWELL_M64: #define __RDRND__ 1
- // CHECK_BROADWELL_M64: #define __RDSEED__ 1
- // CHECK_BROADWELL_M64: #define __RTM__ 1
- // CHECK_BROADWELL_M64: #define __SSE2_MATH__ 1
- // CHECK_BROADWELL_M64: #define __SSE2__ 1
- // CHECK_BROADWELL_M64: #define __SSE3__ 1
- // CHECK_BROADWELL_M64: #define __SSE4_1__ 1
- // CHECK_BROADWELL_M64: #define __SSE4_2__ 1
- // CHECK_BROADWELL_M64: #define __SSE_MATH__ 1
- // CHECK_BROADWELL_M64: #define __SSE__ 1
- // CHECK_BROADWELL_M64: #define __SSSE3__ 1
- // CHECK_BROADWELL_M64: #define __amd64 1
- // CHECK_BROADWELL_M64: #define __amd64__ 1
- // CHECK_BROADWELL_M64: #define __corei7 1
- // CHECK_BROADWELL_M64: #define __corei7__ 1
- // CHECK_BROADWELL_M64: #define __tune_corei7__ 1
- // CHECK_BROADWELL_M64: #define __x86_64 1
- // CHECK_BROADWELL_M64: #define __x86_64__ 1
- //
- // RUN: %clang -march=knl -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_KNL_M32
- // CHECK_KNL_M32: #define __AES__ 1
- // CHECK_KNL_M32: #define __AVX2__ 1
- // CHECK_KNL_M32: #define __AVX512CD__ 1
- // CHECK_KNL_M32: #define __AVX512ER__ 1
- // CHECK_KNL_M32: #define __AVX512F__ 1
- // CHECK_KNL_M32: #define __AVX512PF__ 1
- // CHECK_KNL_M32: #define __AVX__ 1
- // CHECK_KNL_M32: #define __BMI2__ 1
- // CHECK_KNL_M32: #define __BMI__ 1
- // CHECK_KNL_M32: #define __F16C__ 1
- // CHECK_KNL_M32: #define __FMA__ 1
- // CHECK_KNL_M32: #define __LZCNT__ 1
- // CHECK_KNL_M32: #define __MMX__ 1
- // CHECK_KNL_M32: #define __PCLMUL__ 1
- // CHECK_KNL_M32: #define __POPCNT__ 1
- // CHECK_KNL_M32: #define __RDRND__ 1
- // CHECK_KNL_M32: #define __RTM__ 1
- // CHECK_KNL_M32: #define __SSE2__ 1
- // CHECK_KNL_M32: #define __SSE3__ 1
- // CHECK_KNL_M32: #define __SSE4_1__ 1
- // CHECK_KNL_M32: #define __SSE4_2__ 1
- // CHECK_KNL_M32: #define __SSE__ 1
- // CHECK_KNL_M32: #define __SSSE3__ 1
- // CHECK_KNL_M32: #define __i386 1
- // CHECK_KNL_M32: #define __i386__ 1
- // CHECK_KNL_M32: #define __knl 1
- // CHECK_KNL_M32: #define __knl__ 1
- // CHECK_KNL_M32: #define __tune_knl__ 1
- // CHECK_KNL_M32: #define i386 1
- // RUN: %clang -march=knl -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_KNL_M64
- // CHECK_KNL_M64: #define __AES__ 1
- // CHECK_KNL_M64: #define __AVX2__ 1
- // CHECK_KNL_M64: #define __AVX512CD__ 1
- // CHECK_KNL_M64: #define __AVX512ER__ 1
- // CHECK_KNL_M64: #define __AVX512F__ 1
- // CHECK_KNL_M64: #define __AVX512PF__ 1
- // CHECK_KNL_M64: #define __AVX__ 1
- // CHECK_KNL_M64: #define __BMI2__ 1
- // CHECK_KNL_M64: #define __BMI__ 1
- // CHECK_KNL_M64: #define __F16C__ 1
- // CHECK_KNL_M64: #define __FMA__ 1
- // CHECK_KNL_M64: #define __LZCNT__ 1
- // CHECK_KNL_M64: #define __MMX__ 1
- // CHECK_KNL_M64: #define __PCLMUL__ 1
- // CHECK_KNL_M64: #define __POPCNT__ 1
- // CHECK_KNL_M64: #define __RDRND__ 1
- // CHECK_KNL_M64: #define __RTM__ 1
- // CHECK_KNL_M64: #define __SSE2_MATH__ 1
- // CHECK_KNL_M64: #define __SSE2__ 1
- // CHECK_KNL_M64: #define __SSE3__ 1
- // CHECK_KNL_M64: #define __SSE4_1__ 1
- // CHECK_KNL_M64: #define __SSE4_2__ 1
- // CHECK_KNL_M64: #define __SSE_MATH__ 1
- // CHECK_KNL_M64: #define __SSE__ 1
- // CHECK_KNL_M64: #define __SSSE3__ 1
- // CHECK_KNL_M64: #define __amd64 1
- // CHECK_KNL_M64: #define __amd64__ 1
- // CHECK_KNL_M64: #define __knl 1
- // CHECK_KNL_M64: #define __knl__ 1
- // CHECK_KNL_M64: #define __tune_knl__ 1
- // CHECK_KNL_M64: #define __x86_64 1
- // CHECK_KNL_M64: #define __x86_64__ 1
- //
- // RUN: %clang -march=skx -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_SKX_M32
- // CHECK_SKX_M32: #define __AES__ 1
- // CHECK_SKX_M32: #define __AVX2__ 1
- // CHECK_SKX_M32: #define __AVX512BW__ 1
- // CHECK_SKX_M32: #define __AVX512CD__ 1
- // CHECK_SKX_M32: #define __AVX512DQ__ 1
- // CHECK_SKX_M32: #define __AVX512F__ 1
- // CHECK_SKX_M32: #define __AVX512VL__ 1
- // CHECK_SKX_M32: #define __AVX__ 1
- // CHECK_SKX_M32: #define __BMI2__ 1
- // CHECK_SKX_M32: #define __BMI__ 1
- // CHECK_SKX_M32: #define __F16C__ 1
- // CHECK_SKX_M32: #define __FMA__ 1
- // CHECK_SKX_M32: #define __LZCNT__ 1
- // CHECK_SKX_M32: #define __MMX__ 1
- // CHECK_SKX_M32: #define __PCLMUL__ 1
- // CHECK_SKX_M32: #define __POPCNT__ 1
- // CHECK_SKX_M32: #define __RDRND__ 1
- // CHECK_SKX_M32: #define __RTM__ 1
- // CHECK_SKX_M32: #define __SSE2__ 1
- // CHECK_SKX_M32: #define __SSE3__ 1
- // CHECK_SKX_M32: #define __SSE4_1__ 1
- // CHECK_SKX_M32: #define __SSE4_2__ 1
- // CHECK_SKX_M32: #define __SSE__ 1
- // CHECK_SKX_M32: #define __SSSE3__ 1
- // CHECK_SKX_M32: #define __i386 1
- // CHECK_SKX_M32: #define __i386__ 1
- // CHECK_SKX_M32: #define __skx 1
- // CHECK_SKX_M32: #define __skx__ 1
- // CHECK_SKX_M32: #define __tune_skx__ 1
- // CHECK_SKX_M32: #define i386 1
- // RUN: %clang -march=skx -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_SKX_M64
- // CHECK_SKX_M64: #define __AES__ 1
- // CHECK_SKX_M64: #define __AVX2__ 1
- // CHECK_SKX_M64: #define __AVX512BW__ 1
- // CHECK_SKX_M64: #define __AVX512CD__ 1
- // CHECK_SKX_M64: #define __AVX512DQ__ 1
- // CHECK_SKX_M64: #define __AVX512F__ 1
- // CHECK_SKX_M64: #define __AVX512VL__ 1
- // CHECK_SKX_M64: #define __AVX__ 1
- // CHECK_SKX_M64: #define __BMI2__ 1
- // CHECK_SKX_M64: #define __BMI__ 1
- // CHECK_SKX_M64: #define __F16C__ 1
- // CHECK_SKX_M64: #define __FMA__ 1
- // CHECK_SKX_M64: #define __LZCNT__ 1
- // CHECK_SKX_M64: #define __MMX__ 1
- // CHECK_SKX_M64: #define __PCLMUL__ 1
- // CHECK_SKX_M64: #define __POPCNT__ 1
- // CHECK_SKX_M64: #define __RDRND__ 1
- // CHECK_SKX_M64: #define __RTM__ 1
- // CHECK_SKX_M64: #define __SSE2_MATH__ 1
- // CHECK_SKX_M64: #define __SSE2__ 1
- // CHECK_SKX_M64: #define __SSE3__ 1
- // CHECK_SKX_M64: #define __SSE4_1__ 1
- // CHECK_SKX_M64: #define __SSE4_2__ 1
- // CHECK_SKX_M64: #define __SSE_MATH__ 1
- // CHECK_SKX_M64: #define __SSE__ 1
- // CHECK_SKX_M64: #define __SSSE3__ 1
- // CHECK_SKX_M64: #define __amd64 1
- // CHECK_SKX_M64: #define __amd64__ 1
- // CHECK_SKX_M64: #define __skx 1
- // CHECK_SKX_M64: #define __skx__ 1
- // CHECK_SKX_M64: #define __tune_skx__ 1
- // CHECK_SKX_M64: #define __x86_64 1
- // CHECK_SKX_M64: #define __x86_64__ 1
- //
- // RUN: %clang -march=atom -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_ATOM_M32
- // CHECK_ATOM_M32: #define __MMX__ 1
- // CHECK_ATOM_M32: #define __SSE2__ 1
- // CHECK_ATOM_M32: #define __SSE3__ 1
- // CHECK_ATOM_M32: #define __SSE__ 1
- // CHECK_ATOM_M32: #define __SSSE3__ 1
- // CHECK_ATOM_M32: #define __atom 1
- // CHECK_ATOM_M32: #define __atom__ 1
- // CHECK_ATOM_M32: #define __i386 1
- // CHECK_ATOM_M32: #define __i386__ 1
- // CHECK_ATOM_M32: #define __tune_atom__ 1
- // CHECK_ATOM_M32: #define i386 1
- // RUN: %clang -march=atom -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_ATOM_M64
- // CHECK_ATOM_M64: #define __MMX__ 1
- // CHECK_ATOM_M64: #define __SSE2_MATH__ 1
- // CHECK_ATOM_M64: #define __SSE2__ 1
- // CHECK_ATOM_M64: #define __SSE3__ 1
- // CHECK_ATOM_M64: #define __SSE_MATH__ 1
- // CHECK_ATOM_M64: #define __SSE__ 1
- // CHECK_ATOM_M64: #define __SSSE3__ 1
- // CHECK_ATOM_M64: #define __amd64 1
- // CHECK_ATOM_M64: #define __amd64__ 1
- // CHECK_ATOM_M64: #define __atom 1
- // CHECK_ATOM_M64: #define __atom__ 1
- // CHECK_ATOM_M64: #define __tune_atom__ 1
- // CHECK_ATOM_M64: #define __x86_64 1
- // CHECK_ATOM_M64: #define __x86_64__ 1
- //
- // RUN: %clang -march=slm -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_SLM_M32
- // CHECK_SLM_M32: #define __MMX__ 1
- // CHECK_SLM_M32: #define __SSE2__ 1
- // CHECK_SLM_M32: #define __SSE3__ 1
- // CHECK_SLM_M32: #define __SSE4_1__ 1
- // CHECK_SLM_M32: #define __SSE4_2__ 1
- // CHECK_SLM_M32: #define __SSE__ 1
- // CHECK_SLM_M32: #define __SSSE3__ 1
- // CHECK_SLM_M32: #define __i386 1
- // CHECK_SLM_M32: #define __i386__ 1
- // CHECK_SLM_M32: #define __slm 1
- // CHECK_SLM_M32: #define __slm__ 1
- // CHECK_SLM_M32: #define __tune_slm__ 1
- // CHECK_SLM_M32: #define i386 1
- // RUN: %clang -march=slm -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_SLM_M64
- // CHECK_SLM_M64: #define __MMX__ 1
- // CHECK_SLM_M64: #define __SSE2_MATH__ 1
- // CHECK_SLM_M64: #define __SSE2__ 1
- // CHECK_SLM_M64: #define __SSE3__ 1
- // CHECK_SLM_M64: #define __SSE4_1__ 1
- // CHECK_SLM_M64: #define __SSE4_2__ 1
- // CHECK_SLM_M64: #define __SSE_MATH__ 1
- // CHECK_SLM_M64: #define __SSE__ 1
- // CHECK_SLM_M64: #define __SSSE3__ 1
- // CHECK_SLM_M64: #define __amd64 1
- // CHECK_SLM_M64: #define __amd64__ 1
- // CHECK_SLM_M64: #define __slm 1
- // CHECK_SLM_M64: #define __slm__ 1
- // CHECK_SLM_M64: #define __tune_slm__ 1
- // CHECK_SLM_M64: #define __x86_64 1
- // CHECK_SLM_M64: #define __x86_64__ 1
- //
- // RUN: %clang -march=geode -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_GEODE_M32
- // CHECK_GEODE_M32: #define __3dNOW_A__ 1
- // CHECK_GEODE_M32: #define __3dNOW__ 1
- // CHECK_GEODE_M32: #define __MMX__ 1
- // CHECK_GEODE_M32: #define __geode 1
- // CHECK_GEODE_M32: #define __geode__ 1
- // CHECK_GEODE_M32: #define __i386 1
- // CHECK_GEODE_M32: #define __i386__ 1
- // CHECK_GEODE_M32: #define __tune_geode__ 1
- // CHECK_GEODE_M32: #define i386 1
- // RUN: not %clang -march=geode -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_GEODE_M64
- // CHECK_GEODE_M64: error:
- //
- // RUN: %clang -march=k6 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_K6_M32
- // CHECK_K6_M32: #define __MMX__ 1
- // CHECK_K6_M32: #define __i386 1
- // CHECK_K6_M32: #define __i386__ 1
- // CHECK_K6_M32: #define __k6 1
- // CHECK_K6_M32: #define __k6__ 1
- // CHECK_K6_M32: #define __tune_k6__ 1
- // CHECK_K6_M32: #define i386 1
- // RUN: not %clang -march=k6 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_K6_M64
- // CHECK_K6_M64: error:
- //
- // RUN: %clang -march=k6-2 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_K6_2_M32
- // CHECK_K6_2_M32: #define __3dNOW__ 1
- // CHECK_K6_2_M32: #define __MMX__ 1
- // CHECK_K6_2_M32: #define __i386 1
- // CHECK_K6_2_M32: #define __i386__ 1
- // CHECK_K6_2_M32: #define __k6 1
- // CHECK_K6_2_M32: #define __k6_2__ 1
- // CHECK_K6_2_M32: #define __k6__ 1
- // CHECK_K6_2_M32: #define __tune_k6_2__ 1
- // CHECK_K6_2_M32: #define __tune_k6__ 1
- // CHECK_K6_2_M32: #define i386 1
- // RUN: not %clang -march=k6-2 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_K6_2_M64
- // CHECK_K6_2_M64: error:
- //
- // RUN: %clang -march=k6-3 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_K6_3_M32
- // CHECK_K6_3_M32: #define __3dNOW__ 1
- // CHECK_K6_3_M32: #define __MMX__ 1
- // CHECK_K6_3_M32: #define __i386 1
- // CHECK_K6_3_M32: #define __i386__ 1
- // CHECK_K6_3_M32: #define __k6 1
- // CHECK_K6_3_M32: #define __k6_3__ 1
- // CHECK_K6_3_M32: #define __k6__ 1
- // CHECK_K6_3_M32: #define __tune_k6_3__ 1
- // CHECK_K6_3_M32: #define __tune_k6__ 1
- // CHECK_K6_3_M32: #define i386 1
- // RUN: not %clang -march=k6-3 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_K6_3_M64
- // CHECK_K6_3_M64: error:
- //
- // RUN: %clang -march=athlon -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_M32
- // CHECK_ATHLON_M32: #define __3dNOW_A__ 1
- // CHECK_ATHLON_M32: #define __3dNOW__ 1
- // CHECK_ATHLON_M32: #define __MMX__ 1
- // CHECK_ATHLON_M32: #define __athlon 1
- // CHECK_ATHLON_M32: #define __athlon__ 1
- // CHECK_ATHLON_M32: #define __i386 1
- // CHECK_ATHLON_M32: #define __i386__ 1
- // CHECK_ATHLON_M32: #define __tune_athlon__ 1
- // CHECK_ATHLON_M32: #define i386 1
- // RUN: not %clang -march=athlon -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_M64
- // CHECK_ATHLON_M64: error:
- //
- // RUN: %clang -march=athlon-tbird -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_TBIRD_M32
- // CHECK_ATHLON_TBIRD_M32: #define __3dNOW_A__ 1
- // CHECK_ATHLON_TBIRD_M32: #define __3dNOW__ 1
- // CHECK_ATHLON_TBIRD_M32: #define __MMX__ 1
- // CHECK_ATHLON_TBIRD_M32: #define __athlon 1
- // CHECK_ATHLON_TBIRD_M32: #define __athlon__ 1
- // CHECK_ATHLON_TBIRD_M32: #define __i386 1
- // CHECK_ATHLON_TBIRD_M32: #define __i386__ 1
- // CHECK_ATHLON_TBIRD_M32: #define __tune_athlon__ 1
- // CHECK_ATHLON_TBIRD_M32: #define i386 1
- // RUN: not %clang -march=athlon-tbird -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_TBIRD_M64
- // CHECK_ATHLON_TBIRD_M64: error:
- //
- // RUN: %clang -march=athlon-4 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_4_M32
- // CHECK_ATHLON_4_M32: #define __3dNOW_A__ 1
- // CHECK_ATHLON_4_M32: #define __3dNOW__ 1
- // CHECK_ATHLON_4_M32: #define __MMX__ 1
- // CHECK_ATHLON_4_M32: #define __SSE__ 1
- // CHECK_ATHLON_4_M32: #define __athlon 1
- // CHECK_ATHLON_4_M32: #define __athlon__ 1
- // CHECK_ATHLON_4_M32: #define __athlon_sse__ 1
- // CHECK_ATHLON_4_M32: #define __i386 1
- // CHECK_ATHLON_4_M32: #define __i386__ 1
- // CHECK_ATHLON_4_M32: #define __tune_athlon__ 1
- // CHECK_ATHLON_4_M32: #define __tune_athlon_sse__ 1
- // CHECK_ATHLON_4_M32: #define i386 1
- // RUN: not %clang -march=athlon-4 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_4_M64
- // CHECK_ATHLON_4_M64: error:
- //
- // RUN: %clang -march=athlon-xp -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_XP_M32
- // CHECK_ATHLON_XP_M32: #define __3dNOW_A__ 1
- // CHECK_ATHLON_XP_M32: #define __3dNOW__ 1
- // CHECK_ATHLON_XP_M32: #define __MMX__ 1
- // CHECK_ATHLON_XP_M32: #define __SSE__ 1
- // CHECK_ATHLON_XP_M32: #define __athlon 1
- // CHECK_ATHLON_XP_M32: #define __athlon__ 1
- // CHECK_ATHLON_XP_M32: #define __athlon_sse__ 1
- // CHECK_ATHLON_XP_M32: #define __i386 1
- // CHECK_ATHLON_XP_M32: #define __i386__ 1
- // CHECK_ATHLON_XP_M32: #define __tune_athlon__ 1
- // CHECK_ATHLON_XP_M32: #define __tune_athlon_sse__ 1
- // CHECK_ATHLON_XP_M32: #define i386 1
- // RUN: not %clang -march=athlon-xp -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_XP_M64
- // CHECK_ATHLON_XP_M64: error:
- //
- // RUN: %clang -march=athlon-mp -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_MP_M32
- // CHECK_ATHLON_MP_M32: #define __3dNOW_A__ 1
- // CHECK_ATHLON_MP_M32: #define __3dNOW__ 1
- // CHECK_ATHLON_MP_M32: #define __MMX__ 1
- // CHECK_ATHLON_MP_M32: #define __SSE__ 1
- // CHECK_ATHLON_MP_M32: #define __athlon 1
- // CHECK_ATHLON_MP_M32: #define __athlon__ 1
- // CHECK_ATHLON_MP_M32: #define __athlon_sse__ 1
- // CHECK_ATHLON_MP_M32: #define __i386 1
- // CHECK_ATHLON_MP_M32: #define __i386__ 1
- // CHECK_ATHLON_MP_M32: #define __tune_athlon__ 1
- // CHECK_ATHLON_MP_M32: #define __tune_athlon_sse__ 1
- // CHECK_ATHLON_MP_M32: #define i386 1
- // RUN: not %clang -march=athlon-mp -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_MP_M64
- // CHECK_ATHLON_MP_M64: error:
- //
- // RUN: %clang -march=x86-64 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_X86_64_M32
- // CHECK_X86_64_M32: #define __MMX__ 1
- // CHECK_X86_64_M32: #define __SSE2__ 1
- // CHECK_X86_64_M32: #define __SSE__ 1
- // CHECK_X86_64_M32: #define __i386 1
- // CHECK_X86_64_M32: #define __i386__ 1
- // CHECK_X86_64_M32: #define __k8 1
- // CHECK_X86_64_M32: #define __k8__ 1
- // CHECK_X86_64_M32: #define i386 1
- // RUN: %clang -march=x86-64 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_X86_64_M64
- // CHECK_X86_64_M64: #define __MMX__ 1
- // CHECK_X86_64_M64: #define __SSE2_MATH__ 1
- // CHECK_X86_64_M64: #define __SSE2__ 1
- // CHECK_X86_64_M64: #define __SSE_MATH__ 1
- // CHECK_X86_64_M64: #define __SSE__ 1
- // CHECK_X86_64_M64: #define __amd64 1
- // CHECK_X86_64_M64: #define __amd64__ 1
- // CHECK_X86_64_M64: #define __k8 1
- // CHECK_X86_64_M64: #define __k8__ 1
- // CHECK_X86_64_M64: #define __x86_64 1
- // CHECK_X86_64_M64: #define __x86_64__ 1
- //
- // RUN: %clang -march=k8 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_K8_M32
- // CHECK_K8_M32: #define __3dNOW_A__ 1
- // CHECK_K8_M32: #define __3dNOW__ 1
- // CHECK_K8_M32: #define __MMX__ 1
- // CHECK_K8_M32: #define __SSE2__ 1
- // CHECK_K8_M32: #define __SSE__ 1
- // CHECK_K8_M32: #define __i386 1
- // CHECK_K8_M32: #define __i386__ 1
- // CHECK_K8_M32: #define __k8 1
- // CHECK_K8_M32: #define __k8__ 1
- // CHECK_K8_M32: #define __tune_k8__ 1
- // CHECK_K8_M32: #define i386 1
- // RUN: %clang -march=k8 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_K8_M64
- // CHECK_K8_M64: #define __3dNOW_A__ 1
- // CHECK_K8_M64: #define __3dNOW__ 1
- // CHECK_K8_M64: #define __MMX__ 1
- // CHECK_K8_M64: #define __SSE2_MATH__ 1
- // CHECK_K8_M64: #define __SSE2__ 1
- // CHECK_K8_M64: #define __SSE_MATH__ 1
- // CHECK_K8_M64: #define __SSE__ 1
- // CHECK_K8_M64: #define __amd64 1
- // CHECK_K8_M64: #define __amd64__ 1
- // CHECK_K8_M64: #define __k8 1
- // CHECK_K8_M64: #define __k8__ 1
- // CHECK_K8_M64: #define __tune_k8__ 1
- // CHECK_K8_M64: #define __x86_64 1
- // CHECK_K8_M64: #define __x86_64__ 1
- //
- // RUN: %clang -march=k8-sse3 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_K8_SSE3_M32
- // CHECK_K8_SSE3_M32: #define __3dNOW_A__ 1
- // CHECK_K8_SSE3_M32: #define __3dNOW__ 1
- // CHECK_K8_SSE3_M32: #define __MMX__ 1
- // CHECK_K8_SSE3_M32: #define __SSE2__ 1
- // CHECK_K8_SSE3_M32: #define __SSE3__ 1
- // CHECK_K8_SSE3_M32: #define __SSE__ 1
- // CHECK_K8_SSE3_M32: #define __i386 1
- // CHECK_K8_SSE3_M32: #define __i386__ 1
- // CHECK_K8_SSE3_M32: #define __k8 1
- // CHECK_K8_SSE3_M32: #define __k8__ 1
- // CHECK_K8_SSE3_M32: #define __tune_k8__ 1
- // CHECK_K8_SSE3_M32: #define i386 1
- // RUN: %clang -march=k8-sse3 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_K8_SSE3_M64
- // CHECK_K8_SSE3_M64: #define __3dNOW_A__ 1
- // CHECK_K8_SSE3_M64: #define __3dNOW__ 1
- // CHECK_K8_SSE3_M64: #define __MMX__ 1
- // CHECK_K8_SSE3_M64: #define __SSE2_MATH__ 1
- // CHECK_K8_SSE3_M64: #define __SSE2__ 1
- // CHECK_K8_SSE3_M64: #define __SSE3__ 1
- // CHECK_K8_SSE3_M64: #define __SSE_MATH__ 1
- // CHECK_K8_SSE3_M64: #define __SSE__ 1
- // CHECK_K8_SSE3_M64: #define __amd64 1
- // CHECK_K8_SSE3_M64: #define __amd64__ 1
- // CHECK_K8_SSE3_M64: #define __k8 1
- // CHECK_K8_SSE3_M64: #define __k8__ 1
- // CHECK_K8_SSE3_M64: #define __tune_k8__ 1
- // CHECK_K8_SSE3_M64: #define __x86_64 1
- // CHECK_K8_SSE3_M64: #define __x86_64__ 1
- //
- // RUN: %clang -march=opteron -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_M32
- // CHECK_OPTERON_M32: #define __3dNOW_A__ 1
- // CHECK_OPTERON_M32: #define __3dNOW__ 1
- // CHECK_OPTERON_M32: #define __MMX__ 1
- // CHECK_OPTERON_M32: #define __SSE2__ 1
- // CHECK_OPTERON_M32: #define __SSE__ 1
- // CHECK_OPTERON_M32: #define __i386 1
- // CHECK_OPTERON_M32: #define __i386__ 1
- // CHECK_OPTERON_M32: #define __k8 1
- // CHECK_OPTERON_M32: #define __k8__ 1
- // CHECK_OPTERON_M32: #define __tune_k8__ 1
- // CHECK_OPTERON_M32: #define i386 1
- // RUN: %clang -march=opteron -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_M64
- // CHECK_OPTERON_M64: #define __3dNOW_A__ 1
- // CHECK_OPTERON_M64: #define __3dNOW__ 1
- // CHECK_OPTERON_M64: #define __MMX__ 1
- // CHECK_OPTERON_M64: #define __SSE2_MATH__ 1
- // CHECK_OPTERON_M64: #define __SSE2__ 1
- // CHECK_OPTERON_M64: #define __SSE_MATH__ 1
- // CHECK_OPTERON_M64: #define __SSE__ 1
- // CHECK_OPTERON_M64: #define __amd64 1
- // CHECK_OPTERON_M64: #define __amd64__ 1
- // CHECK_OPTERON_M64: #define __k8 1
- // CHECK_OPTERON_M64: #define __k8__ 1
- // CHECK_OPTERON_M64: #define __tune_k8__ 1
- // CHECK_OPTERON_M64: #define __x86_64 1
- // CHECK_OPTERON_M64: #define __x86_64__ 1
- //
- // RUN: %clang -march=opteron-sse3 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_SSE3_M32
- // CHECK_OPTERON_SSE3_M32: #define __3dNOW_A__ 1
- // CHECK_OPTERON_SSE3_M32: #define __3dNOW__ 1
- // CHECK_OPTERON_SSE3_M32: #define __MMX__ 1
- // CHECK_OPTERON_SSE3_M32: #define __SSE2__ 1
- // CHECK_OPTERON_SSE3_M32: #define __SSE3__ 1
- // CHECK_OPTERON_SSE3_M32: #define __SSE__ 1
- // CHECK_OPTERON_SSE3_M32: #define __i386 1
- // CHECK_OPTERON_SSE3_M32: #define __i386__ 1
- // CHECK_OPTERON_SSE3_M32: #define __k8 1
- // CHECK_OPTERON_SSE3_M32: #define __k8__ 1
- // CHECK_OPTERON_SSE3_M32: #define __tune_k8__ 1
- // CHECK_OPTERON_SSE3_M32: #define i386 1
- // RUN: %clang -march=opteron-sse3 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_SSE3_M64
- // CHECK_OPTERON_SSE3_M64: #define __3dNOW_A__ 1
- // CHECK_OPTERON_SSE3_M64: #define __3dNOW__ 1
- // CHECK_OPTERON_SSE3_M64: #define __MMX__ 1
- // CHECK_OPTERON_SSE3_M64: #define __SSE2_MATH__ 1
- // CHECK_OPTERON_SSE3_M64: #define __SSE2__ 1
- // CHECK_OPTERON_SSE3_M64: #define __SSE3__ 1
- // CHECK_OPTERON_SSE3_M64: #define __SSE_MATH__ 1
- // CHECK_OPTERON_SSE3_M64: #define __SSE__ 1
- // CHECK_OPTERON_SSE3_M64: #define __amd64 1
- // CHECK_OPTERON_SSE3_M64: #define __amd64__ 1
- // CHECK_OPTERON_SSE3_M64: #define __k8 1
- // CHECK_OPTERON_SSE3_M64: #define __k8__ 1
- // CHECK_OPTERON_SSE3_M64: #define __tune_k8__ 1
- // CHECK_OPTERON_SSE3_M64: #define __x86_64 1
- // CHECK_OPTERON_SSE3_M64: #define __x86_64__ 1
- //
- // RUN: %clang -march=athlon64 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_M32
- // CHECK_ATHLON64_M32: #define __3dNOW_A__ 1
- // CHECK_ATHLON64_M32: #define __3dNOW__ 1
- // CHECK_ATHLON64_M32: #define __MMX__ 1
- // CHECK_ATHLON64_M32: #define __SSE2__ 1
- // CHECK_ATHLON64_M32: #define __SSE__ 1
- // CHECK_ATHLON64_M32: #define __i386 1
- // CHECK_ATHLON64_M32: #define __i386__ 1
- // CHECK_ATHLON64_M32: #define __k8 1
- // CHECK_ATHLON64_M32: #define __k8__ 1
- // CHECK_ATHLON64_M32: #define __tune_k8__ 1
- // CHECK_ATHLON64_M32: #define i386 1
- // RUN: %clang -march=athlon64 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_M64
- // CHECK_ATHLON64_M64: #define __3dNOW_A__ 1
- // CHECK_ATHLON64_M64: #define __3dNOW__ 1
- // CHECK_ATHLON64_M64: #define __MMX__ 1
- // CHECK_ATHLON64_M64: #define __SSE2_MATH__ 1
- // CHECK_ATHLON64_M64: #define __SSE2__ 1
- // CHECK_ATHLON64_M64: #define __SSE_MATH__ 1
- // CHECK_ATHLON64_M64: #define __SSE__ 1
- // CHECK_ATHLON64_M64: #define __amd64 1
- // CHECK_ATHLON64_M64: #define __amd64__ 1
- // CHECK_ATHLON64_M64: #define __k8 1
- // CHECK_ATHLON64_M64: #define __k8__ 1
- // CHECK_ATHLON64_M64: #define __tune_k8__ 1
- // CHECK_ATHLON64_M64: #define __x86_64 1
- // CHECK_ATHLON64_M64: #define __x86_64__ 1
- //
- // RUN: %clang -march=athlon64-sse3 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_SSE3_M32
- // CHECK_ATHLON64_SSE3_M32: #define __3dNOW_A__ 1
- // CHECK_ATHLON64_SSE3_M32: #define __3dNOW__ 1
- // CHECK_ATHLON64_SSE3_M32: #define __MMX__ 1
- // CHECK_ATHLON64_SSE3_M32: #define __SSE2__ 1
- // CHECK_ATHLON64_SSE3_M32: #define __SSE3__ 1
- // CHECK_ATHLON64_SSE3_M32: #define __SSE__ 1
- // CHECK_ATHLON64_SSE3_M32: #define __i386 1
- // CHECK_ATHLON64_SSE3_M32: #define __i386__ 1
- // CHECK_ATHLON64_SSE3_M32: #define __k8 1
- // CHECK_ATHLON64_SSE3_M32: #define __k8__ 1
- // CHECK_ATHLON64_SSE3_M32: #define __tune_k8__ 1
- // CHECK_ATHLON64_SSE3_M32: #define i386 1
- // RUN: %clang -march=athlon64-sse3 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_SSE3_M64
- // CHECK_ATHLON64_SSE3_M64: #define __3dNOW_A__ 1
- // CHECK_ATHLON64_SSE3_M64: #define __3dNOW__ 1
- // CHECK_ATHLON64_SSE3_M64: #define __MMX__ 1
- // CHECK_ATHLON64_SSE3_M64: #define __SSE2_MATH__ 1
- // CHECK_ATHLON64_SSE3_M64: #define __SSE2__ 1
- // CHECK_ATHLON64_SSE3_M64: #define __SSE3__ 1
- // CHECK_ATHLON64_SSE3_M64: #define __SSE_MATH__ 1
- // CHECK_ATHLON64_SSE3_M64: #define __SSE__ 1
- // CHECK_ATHLON64_SSE3_M64: #define __amd64 1
- // CHECK_ATHLON64_SSE3_M64: #define __amd64__ 1
- // CHECK_ATHLON64_SSE3_M64: #define __k8 1
- // CHECK_ATHLON64_SSE3_M64: #define __k8__ 1
- // CHECK_ATHLON64_SSE3_M64: #define __tune_k8__ 1
- // CHECK_ATHLON64_SSE3_M64: #define __x86_64 1
- // CHECK_ATHLON64_SSE3_M64: #define __x86_64__ 1
- //
- // RUN: %clang -march=athlon-fx -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_FX_M32
- // CHECK_ATHLON_FX_M32: #define __3dNOW_A__ 1
- // CHECK_ATHLON_FX_M32: #define __3dNOW__ 1
- // CHECK_ATHLON_FX_M32: #define __MMX__ 1
- // CHECK_ATHLON_FX_M32: #define __SSE2__ 1
- // CHECK_ATHLON_FX_M32: #define __SSE__ 1
- // CHECK_ATHLON_FX_M32: #define __i386 1
- // CHECK_ATHLON_FX_M32: #define __i386__ 1
- // CHECK_ATHLON_FX_M32: #define __k8 1
- // CHECK_ATHLON_FX_M32: #define __k8__ 1
- // CHECK_ATHLON_FX_M32: #define __tune_k8__ 1
- // CHECK_ATHLON_FX_M32: #define i386 1
- // RUN: %clang -march=athlon-fx -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_FX_M64
- // CHECK_ATHLON_FX_M64: #define __3dNOW_A__ 1
- // CHECK_ATHLON_FX_M64: #define __3dNOW__ 1
- // CHECK_ATHLON_FX_M64: #define __MMX__ 1
- // CHECK_ATHLON_FX_M64: #define __SSE2_MATH__ 1
- // CHECK_ATHLON_FX_M64: #define __SSE2__ 1
- // CHECK_ATHLON_FX_M64: #define __SSE_MATH__ 1
- // CHECK_ATHLON_FX_M64: #define __SSE__ 1
- // CHECK_ATHLON_FX_M64: #define __amd64 1
- // CHECK_ATHLON_FX_M64: #define __amd64__ 1
- // CHECK_ATHLON_FX_M64: #define __k8 1
- // CHECK_ATHLON_FX_M64: #define __k8__ 1
- // CHECK_ATHLON_FX_M64: #define __tune_k8__ 1
- // CHECK_ATHLON_FX_M64: #define __x86_64 1
- // CHECK_ATHLON_FX_M64: #define __x86_64__ 1
- // RUN: %clang -march=amdfam10 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_AMDFAM10_M32
- // CHECK_AMDFAM10_M32: #define __3dNOW_A__ 1
- // CHECK_AMDFAM10_M32: #define __3dNOW__ 1
- // CHECK_AMDFAM10_M32: #define __LZCNT__ 1
- // CHECK_AMDFAM10_M32: #define __MMX__ 1
- // CHECK_AMDFAM10_M32: #define __POPCNT__ 1
- // CHECK_AMDFAM10_M32: #define __SSE2_MATH__ 1
- // CHECK_AMDFAM10_M32: #define __SSE2__ 1
- // CHECK_AMDFAM10_M32: #define __SSE3__ 1
- // CHECK_AMDFAM10_M32: #define __SSE4A__ 1
- // CHECK_AMDFAM10_M32: #define __SSE_MATH__ 1
- // CHECK_AMDFAM10_M32: #define __SSE__ 1
- // CHECK_AMDFAM10_M32: #define __amdfam10 1
- // CHECK_AMDFAM10_M32: #define __amdfam10__ 1
- // CHECK_AMDFAM10_M32: #define __i386 1
- // CHECK_AMDFAM10_M32: #define __i386__ 1
- // CHECK_AMDFAM10_M32: #define __tune_amdfam10__ 1
- // RUN: %clang -march=amdfam10 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_AMDFAM10_M64
- // CHECK_AMDFAM10_M64: #define __3dNOW_A__ 1
- // CHECK_AMDFAM10_M64: #define __3dNOW__ 1
- // CHECK_AMDFAM10_M64: #define __LZCNT__ 1
- // CHECK_AMDFAM10_M64: #define __MMX__ 1
- // CHECK_AMDFAM10_M64: #define __POPCNT__ 1
- // CHECK_AMDFAM10_M64: #define __SSE2_MATH__ 1
- // CHECK_AMDFAM10_M64: #define __SSE2__ 1
- // CHECK_AMDFAM10_M64: #define __SSE3__ 1
- // CHECK_AMDFAM10_M64: #define __SSE4A__ 1
- // CHECK_AMDFAM10_M64: #define __SSE_MATH__ 1
- // CHECK_AMDFAM10_M64: #define __SSE__ 1
- // CHECK_AMDFAM10_M64: #define __amd64 1
- // CHECK_AMDFAM10_M64: #define __amd64__ 1
- // CHECK_AMDFAM10_M64: #define __amdfam10 1
- // CHECK_AMDFAM10_M64: #define __amdfam10__ 1
- // CHECK_AMDFAM10_M64: #define __tune_amdfam10__ 1
- // CHECK_AMDFAM10_M64: #define __x86_64 1
- // CHECK_AMDFAM10_M64: #define __x86_64__ 1
- // RUN: %clang -march=btver1 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_BTVER1_M32
- // CHECK_BTVER1_M32-NOT: #define __3dNOW_A__ 1
- // CHECK_BTVER1_M32-NOT: #define __3dNOW__ 1
- // CHECK_BTVER1_M32: #define __LZCNT__ 1
- // CHECK_BTVER1_M32: #define __MMX__ 1
- // CHECK_BTVER1_M32: #define __POPCNT__ 1
- // CHECK_BTVER1_M32: #define __PRFCHW__ 1
- // CHECK_BTVER1_M32: #define __SSE2_MATH__ 1
- // CHECK_BTVER1_M32: #define __SSE2__ 1
- // CHECK_BTVER1_M32: #define __SSE3__ 1
- // CHECK_BTVER1_M32: #define __SSE4A__ 1
- // CHECK_BTVER1_M32: #define __SSE_MATH__ 1
- // CHECK_BTVER1_M32: #define __SSE__ 1
- // CHECK_BTVER1_M32: #define __SSSE3__ 1
- // CHECK_BTVER1_M32: #define __btver1 1
- // CHECK_BTVER1_M32: #define __btver1__ 1
- // CHECK_BTVER1_M32: #define __i386 1
- // CHECK_BTVER1_M32: #define __i386__ 1
- // CHECK_BTVER1_M32: #define __tune_btver1__ 1
- // RUN: %clang -march=btver1 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_BTVER1_M64
- // CHECK_BTVER1_M64-NOT: #define __3dNOW_A__ 1
- // CHECK_BTVER1_M64-NOT: #define __3dNOW__ 1
- // CHECK_BTVER1_M64: #define __LZCNT__ 1
- // CHECK_BTVER1_M64: #define __MMX__ 1
- // CHECK_BTVER1_M64: #define __POPCNT__ 1
- // CHECK_BTVER1_M64: #define __PRFCHW__ 1
- // CHECK_BTVER1_M64: #define __SSE2_MATH__ 1
- // CHECK_BTVER1_M64: #define __SSE2__ 1
- // CHECK_BTVER1_M64: #define __SSE3__ 1
- // CHECK_BTVER1_M64: #define __SSE4A__ 1
- // CHECK_BTVER1_M64: #define __SSE_MATH__ 1
- // CHECK_BTVER1_M64: #define __SSE__ 1
- // CHECK_BTVER1_M64: #define __SSSE3__ 1
- // CHECK_BTVER1_M64: #define __amd64 1
- // CHECK_BTVER1_M64: #define __amd64__ 1
- // CHECK_BTVER1_M64: #define __btver1 1
- // CHECK_BTVER1_M64: #define __btver1__ 1
- // CHECK_BTVER1_M64: #define __tune_btver1__ 1
- // CHECK_BTVER1_M64: #define __x86_64 1
- // CHECK_BTVER1_M64: #define __x86_64__ 1
- // RUN: %clang -march=btver2 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_BTVER2_M32
- // CHECK_BTVER2_M32-NOT: #define __3dNOW_A__ 1
- // CHECK_BTVER2_M32-NOT: #define __3dNOW__ 1
- // CHECK_BTVER2_M32: #define __AES__ 1
- // CHECK_BTVER2_M32: #define __AVX__ 1
- // CHECK_BTVER2_M32: #define __BMI__ 1
- // CHECK_BTVER2_M32: #define __F16C__ 1
- // CHECK_BTVER2_M32: #define __LZCNT__ 1
- // CHECK_BTVER2_M32: #define __MMX__ 1
- // CHECK_BTVER2_M32: #define __PCLMUL__ 1
- // CHECK_BTVER2_M32: #define __POPCNT__ 1
- // CHECK_BTVER2_M32: #define __PRFCHW__ 1
- // CHECK_BTVER2_M32: #define __SSE2_MATH__ 1
- // CHECK_BTVER2_M32: #define __SSE2__ 1
- // CHECK_BTVER2_M32: #define __SSE3__ 1
- // CHECK_BTVER2_M32: #define __SSE4A__ 1
- // CHECK_BTVER2_M32: #define __SSE_MATH__ 1
- // CHECK_BTVER2_M32: #define __SSE__ 1
- // CHECK_BTVER2_M32: #define __SSSE3__ 1
- // CHECK_BTVER2_M32: #define __btver2 1
- // CHECK_BTVER2_M32: #define __btver2__ 1
- // CHECK_BTVER2_M32: #define __i386 1
- // CHECK_BTVER2_M32: #define __i386__ 1
- // CHECK_BTVER2_M32: #define __tune_btver2__ 1
- // RUN: %clang -march=btver2 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_BTVER2_M64
- // CHECK_BTVER2_M64-NOT: #define __3dNOW_A__ 1
- // CHECK_BTVER2_M64-NOT: #define __3dNOW__ 1
- // CHECK_BTVER2_M64: #define __AES__ 1
- // CHECK_BTVER2_M64: #define __AVX__ 1
- // CHECK_BTVER2_M64: #define __BMI__ 1
- // CHECK_BTVER2_M64: #define __F16C__ 1
- // CHECK_BTVER2_M64: #define __LZCNT__ 1
- // CHECK_BTVER2_M64: #define __MMX__ 1
- // CHECK_BTVER2_M64: #define __PCLMUL__ 1
- // CHECK_BTVER2_M64: #define __POPCNT__ 1
- // CHECK_BTVER2_M64: #define __PRFCHW__ 1
- // CHECK_BTVER2_M64: #define __SSE2_MATH__ 1
- // CHECK_BTVER2_M64: #define __SSE2__ 1
- // CHECK_BTVER2_M64: #define __SSE3__ 1
- // CHECK_BTVER2_M64: #define __SSE4A__ 1
- // CHECK_BTVER2_M64: #define __SSE_MATH__ 1
- // CHECK_BTVER2_M64: #define __SSE__ 1
- // CHECK_BTVER2_M64: #define __SSSE3__ 1
- // CHECK_BTVER2_M64: #define __amd64 1
- // CHECK_BTVER2_M64: #define __amd64__ 1
- // CHECK_BTVER2_M64: #define __btver2 1
- // CHECK_BTVER2_M64: #define __btver2__ 1
- // CHECK_BTVER2_M64: #define __tune_btver2__ 1
- // CHECK_BTVER2_M64: #define __x86_64 1
- // CHECK_BTVER2_M64: #define __x86_64__ 1
- // RUN: %clang -march=bdver1 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_BDVER1_M32
- // CHECK_BDVER1_M32-NOT: #define __3dNOW_A__ 1
- // CHECK_BDVER1_M32-NOT: #define __3dNOW__ 1
- // CHECK_BDVER1_M32: #define __AES__ 1
- // CHECK_BDVER1_M32: #define __AVX__ 1
- // CHECK_BDVER1_M32: #define __FMA4__ 1
- // CHECK_BDVER1_M32: #define __LZCNT__ 1
- // CHECK_BDVER1_M32: #define __MMX__ 1
- // CHECK_BDVER1_M32: #define __PCLMUL__ 1
- // CHECK_BDVER1_M32: #define __POPCNT__ 1
- // CHECK_BDVER1_M32: #define __PRFCHW__ 1
- // CHECK_BDVER1_M32: #define __SSE2_MATH__ 1
- // CHECK_BDVER1_M32: #define __SSE2__ 1
- // CHECK_BDVER1_M32: #define __SSE3__ 1
- // CHECK_BDVER1_M32: #define __SSE4A__ 1
- // CHECK_BDVER1_M32: #define __SSE4_1__ 1
- // CHECK_BDVER1_M32: #define __SSE4_2__ 1
- // CHECK_BDVER1_M32: #define __SSE_MATH__ 1
- // CHECK_BDVER1_M32: #define __SSE__ 1
- // CHECK_BDVER1_M32: #define __SSSE3__ 1
- // CHECK_BDVER1_M32: #define __XOP__ 1
- // CHECK_BDVER1_M32: #define __bdver1 1
- // CHECK_BDVER1_M32: #define __bdver1__ 1
- // CHECK_BDVER1_M32: #define __i386 1
- // CHECK_BDVER1_M32: #define __i386__ 1
- // CHECK_BDVER1_M32: #define __tune_bdver1__ 1
- // RUN: %clang -march=bdver1 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_BDVER1_M64
- // CHECK_BDVER1_M64-NOT: #define __3dNOW_A__ 1
- // CHECK_BDVER1_M64-NOT: #define __3dNOW__ 1
- // CHECK_BDVER1_M64: #define __AES__ 1
- // CHECK_BDVER1_M64: #define __AVX__ 1
- // CHECK_BDVER1_M64: #define __FMA4__ 1
- // CHECK_BDVER1_M64: #define __LZCNT__ 1
- // CHECK_BDVER1_M64: #define __MMX__ 1
- // CHECK_BDVER1_M64: #define __PCLMUL__ 1
- // CHECK_BDVER1_M64: #define __POPCNT__ 1
- // CHECK_BDVER1_M64: #define __PRFCHW__ 1
- // CHECK_BDVER1_M64: #define __SSE2_MATH__ 1
- // CHECK_BDVER1_M64: #define __SSE2__ 1
- // CHECK_BDVER1_M64: #define __SSE3__ 1
- // CHECK_BDVER1_M64: #define __SSE4A__ 1
- // CHECK_BDVER1_M64: #define __SSE4_1__ 1
- // CHECK_BDVER1_M64: #define __SSE4_2__ 1
- // CHECK_BDVER1_M64: #define __SSE_MATH__ 1
- // CHECK_BDVER1_M64: #define __SSE__ 1
- // CHECK_BDVER1_M64: #define __SSSE3__ 1
- // CHECK_BDVER1_M64: #define __XOP__ 1
- // CHECK_BDVER1_M64: #define __amd64 1
- // CHECK_BDVER1_M64: #define __amd64__ 1
- // CHECK_BDVER1_M64: #define __bdver1 1
- // CHECK_BDVER1_M64: #define __bdver1__ 1
- // CHECK_BDVER1_M64: #define __tune_bdver1__ 1
- // CHECK_BDVER1_M64: #define __x86_64 1
- // CHECK_BDVER1_M64: #define __x86_64__ 1
- // RUN: %clang -march=bdver2 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_BDVER2_M32
- // CHECK_BDVER2_M32-NOT: #define __3dNOW_A__ 1
- // CHECK_BDVER2_M32-NOT: #define __3dNOW__ 1
- // CHECK_BDVER2_M32: #define __AES__ 1
- // CHECK_BDVER2_M32: #define __AVX__ 1
- // CHECK_BDVER2_M32: #define __BMI__ 1
- // CHECK_BDVER2_M32: #define __F16C__ 1
- // CHECK_BDVER2_M32: #define __FMA4__ 1
- // CHECK_BDVER2_M32: #define __FMA__ 1
- // CHECK_BDVER2_M32: #define __LZCNT__ 1
- // CHECK_BDVER2_M32: #define __MMX__ 1
- // CHECK_BDVER2_M32: #define __PCLMUL__ 1
- // CHECK_BDVER2_M32: #define __POPCNT__ 1
- // CHECK_BDVER2_M32: #define __PRFCHW__ 1
- // CHECK_BDVER2_M32: #define __SSE2_MATH__ 1
- // CHECK_BDVER2_M32: #define __SSE2__ 1
- // CHECK_BDVER2_M32: #define __SSE3__ 1
- // CHECK_BDVER2_M32: #define __SSE4A__ 1
- // CHECK_BDVER2_M32: #define __SSE4_1__ 1
- // CHECK_BDVER2_M32: #define __SSE4_2__ 1
- // CHECK_BDVER2_M32: #define __SSE_MATH__ 1
- // CHECK_BDVER2_M32: #define __SSE__ 1
- // CHECK_BDVER2_M32: #define __SSSE3__ 1
- // CHECK_BDVER2_M32: #define __TBM__ 1
- // CHECK_BDVER2_M32: #define __XOP__ 1
- // CHECK_BDVER2_M32: #define __bdver2 1
- // CHECK_BDVER2_M32: #define __bdver2__ 1
- // CHECK_BDVER2_M32: #define __i386 1
- // CHECK_BDVER2_M32: #define __i386__ 1
- // CHECK_BDVER2_M32: #define __tune_bdver2__ 1
- // RUN: %clang -march=bdver2 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_BDVER2_M64
- // CHECK_BDVER2_M64-NOT: #define __3dNOW_A__ 1
- // CHECK_BDVER2_M64-NOT: #define __3dNOW__ 1
- // CHECK_BDVER2_M64: #define __AES__ 1
- // CHECK_BDVER2_M64: #define __AVX__ 1
- // CHECK_BDVER2_M64: #define __BMI__ 1
- // CHECK_BDVER2_M64: #define __F16C__ 1
- // CHECK_BDVER2_M64: #define __FMA4__ 1
- // CHECK_BDVER2_M64: #define __FMA__ 1
- // CHECK_BDVER2_M64: #define __LZCNT__ 1
- // CHECK_BDVER2_M64: #define __MMX__ 1
- // CHECK_BDVER2_M64: #define __PCLMUL__ 1
- // CHECK_BDVER2_M64: #define __POPCNT__ 1
- // CHECK_BDVER2_M64: #define __PRFCHW__ 1
- // CHECK_BDVER2_M64: #define __SSE2_MATH__ 1
- // CHECK_BDVER2_M64: #define __SSE2__ 1
- // CHECK_BDVER2_M64: #define __SSE3__ 1
- // CHECK_BDVER2_M64: #define __SSE4A__ 1
- // CHECK_BDVER2_M64: #define __SSE4_1__ 1
- // CHECK_BDVER2_M64: #define __SSE4_2__ 1
- // CHECK_BDVER2_M64: #define __SSE_MATH__ 1
- // CHECK_BDVER2_M64: #define __SSE__ 1
- // CHECK_BDVER2_M64: #define __SSSE3__ 1
- // CHECK_BDVER2_M64: #define __TBM__ 1
- // CHECK_BDVER2_M64: #define __XOP__ 1
- // CHECK_BDVER2_M64: #define __amd64 1
- // CHECK_BDVER2_M64: #define __amd64__ 1
- // CHECK_BDVER2_M64: #define __bdver2 1
- // CHECK_BDVER2_M64: #define __bdver2__ 1
- // CHECK_BDVER2_M64: #define __tune_bdver2__ 1
- // CHECK_BDVER2_M64: #define __x86_64 1
- // CHECK_BDVER2_M64: #define __x86_64__ 1
- // RUN: %clang -march=bdver3 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_BDVER3_M32
- // CHECK_BDVER3_M32-NOT: #define __3dNOW_A__ 1
- // CHECK_BDVER3_M32-NOT: #define __3dNOW__ 1
- // CHECK_BDVER3_M32: #define __AES__ 1
- // CHECK_BDVER3_M32: #define __AVX__ 1
- // CHECK_BDVER3_M32: #define __BMI__ 1
- // CHECK_BDVER3_M32: #define __F16C__ 1
- // CHECK_BDVER3_M32: #define __FMA4__ 1
- // CHECK_BDVER3_M32: #define __FMA__ 1
- // CHECK_BDVER3_M32: #define __FSGSBASE__ 1
- // CHECK_BDVER3_M32: #define __LZCNT__ 1
- // CHECK_BDVER3_M32: #define __MMX__ 1
- // CHECK_BDVER3_M32: #define __PCLMUL__ 1
- // CHECK_BDVER3_M32: #define __POPCNT__ 1
- // CHECK_BDVER3_M32: #define __PRFCHW__ 1
- // CHECK_BDVER3_M32: #define __SSE2_MATH__ 1
- // CHECK_BDVER3_M32: #define __SSE2__ 1
- // CHECK_BDVER3_M32: #define __SSE3__ 1
- // CHECK_BDVER3_M32: #define __SSE4A__ 1
- // CHECK_BDVER3_M32: #define __SSE4_1__ 1
- // CHECK_BDVER3_M32: #define __SSE4_2__ 1
- // CHECK_BDVER3_M32: #define __SSE_MATH__ 1
- // CHECK_BDVER3_M32: #define __SSE__ 1
- // CHECK_BDVER3_M32: #define __SSSE3__ 1
- // CHECK_BDVER3_M32: #define __TBM__ 1
- // CHECK_BDVER3_M32: #define __XOP__ 1
- // CHECK_BDVER3_M32: #define __bdver3 1
- // CHECK_BDVER3_M32: #define __bdver3__ 1
- // CHECK_BDVER3_M32: #define __i386 1
- // CHECK_BDVER3_M32: #define __i386__ 1
- // CHECK_BDVER3_M32: #define __tune_bdver3__ 1
- // RUN: %clang -march=bdver3 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_BDVER3_M64
- // CHECK_BDVER3_M64-NOT: #define __3dNOW_A__ 1
- // CHECK_BDVER3_M64-NOT: #define __3dNOW__ 1
- // CHECK_BDVER3_M64: #define __AES__ 1
- // CHECK_BDVER3_M64: #define __AVX__ 1
- // CHECK_BDVER3_M64: #define __BMI__ 1
- // CHECK_BDVER3_M64: #define __F16C__ 1
- // CHECK_BDVER3_M64: #define __FMA4__ 1
- // CHECK_BDVER3_M64: #define __FMA__ 1
- // CHECK_BDVER3_M64: #define __FSGSBASE__ 1
- // CHECK_BDVER3_M64: #define __LZCNT__ 1
- // CHECK_BDVER3_M64: #define __MMX__ 1
- // CHECK_BDVER3_M64: #define __PCLMUL__ 1
- // CHECK_BDVER3_M64: #define __POPCNT__ 1
- // CHECK_BDVER3_M64: #define __PRFCHW__ 1
- // CHECK_BDVER3_M64: #define __SSE2_MATH__ 1
- // CHECK_BDVER3_M64: #define __SSE2__ 1
- // CHECK_BDVER3_M64: #define __SSE3__ 1
- // CHECK_BDVER3_M64: #define __SSE4A__ 1
- // CHECK_BDVER3_M64: #define __SSE4_1__ 1
- // CHECK_BDVER3_M64: #define __SSE4_2__ 1
- // CHECK_BDVER3_M64: #define __SSE_MATH__ 1
- // CHECK_BDVER3_M64: #define __SSE__ 1
- // CHECK_BDVER3_M64: #define __SSSE3__ 1
- // CHECK_BDVER3_M64: #define __TBM__ 1
- // CHECK_BDVER3_M64: #define __XOP__ 1
- // CHECK_BDVER3_M64: #define __amd64 1
- // CHECK_BDVER3_M64: #define __amd64__ 1
- // CHECK_BDVER3_M64: #define __bdver3 1
- // CHECK_BDVER3_M64: #define __bdver3__ 1
- // CHECK_BDVER3_M64: #define __tune_bdver3__ 1
- // CHECK_BDVER3_M64: #define __x86_64 1
- // CHECK_BDVER3_M64: #define __x86_64__ 1
- // RUN: %clang -march=bdver4 -m32 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_BDVER4_M32
- // CHECK_BDVER4_M32-NOT: #define __3dNOW_A__ 1
- // CHECK_BDVER4_M32-NOT: #define __3dNOW__ 1
- // CHECK_BDVER4_M32: #define __AES__ 1
- // CHECK_BDVER4_M32: #define __AVX2__ 1
- // CHECK_BDVER4_M32: #define __AVX__ 1
- // CHECK_BDVER4_M32: #define __BMI2__ 1
- // CHECK_BDVER4_M32: #define __BMI__ 1
- // CHECK_BDVER4_M32: #define __F16C__ 1
- // CHECK_BDVER4_M32: #define __FMA4__ 1
- // CHECK_BDVER4_M32: #define __FMA__ 1
- // CHECK_BDVER4_M32: #define __FSGSBASE__ 1
- // CHECK_BDVER4_M32: #define __LZCNT__ 1
- // CHECK_BDVER4_M32: #define __MMX__ 1
- // CHECK_BDVER4_M32: #define __PCLMUL__ 1
- // CHECK_BDVER4_M32: #define __POPCNT__ 1
- // CHECK_BDVER4_M32: #define __PRFCHW__ 1
- // CHECK_BDVER4_M32: #define __SSE2_MATH__ 1
- // CHECK_BDVER4_M32: #define __SSE2__ 1
- // CHECK_BDVER4_M32: #define __SSE3__ 1
- // CHECK_BDVER4_M32: #define __SSE4A__ 1
- // CHECK_BDVER4_M32: #define __SSE4_1__ 1
- // CHECK_BDVER4_M32: #define __SSE4_2__ 1
- // CHECK_BDVER4_M32: #define __SSE_MATH__ 1
- // CHECK_BDVER4_M32: #define __SSE__ 1
- // CHECK_BDVER4_M32: #define __SSSE3__ 1
- // CHECK_BDVER4_M32: #define __TBM__ 1
- // CHECK_BDVER4_M32: #define __XOP__ 1
- // CHECK_BDVER4_M32: #define __bdver4 1
- // CHECK_BDVER4_M32: #define __bdver4__ 1
- // CHECK_BDVER4_M32: #define __i386 1
- // CHECK_BDVER4_M32: #define __i386__ 1
- // CHECK_BDVER4_M32: #define __tune_bdver4__ 1
- // RUN: %clang -march=bdver4 -m64 -E -dM %s -o - 2>&1 \
- // RUN: -target i386-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_BDVER4_M64
- // CHECK_BDVER4_M64-NOT: #define __3dNOW_A__ 1
- // CHECK_BDVER4_M64-NOT: #define __3dNOW__ 1
- // CHECK_BDVER4_M64: #define __AES__ 1
- // CHECK_BDVER4_M64: #define __AVX2__ 1
- // CHECK_BDVER4_M64: #define __AVX__ 1
- // CHECK_BDVER4_M64: #define __BMI2__ 1
- // CHECK_BDVER4_M64: #define __BMI__ 1
- // CHECK_BDVER4_M64: #define __F16C__ 1
- // CHECK_BDVER4_M64: #define __FMA4__ 1
- // CHECK_BDVER4_M64: #define __FMA__ 1
- // CHECK_BDVER4_M64: #define __FSGSBASE__ 1
- // CHECK_BDVER4_M64: #define __LZCNT__ 1
- // CHECK_BDVER4_M64: #define __MMX__ 1
- // CHECK_BDVER4_M64: #define __PCLMUL__ 1
- // CHECK_BDVER4_M64: #define __POPCNT__ 1
- // CHECK_BDVER4_M64: #define __PRFCHW__ 1
- // CHECK_BDVER4_M64: #define __SSE2_MATH__ 1
- // CHECK_BDVER4_M64: #define __SSE2__ 1
- // CHECK_BDVER4_M64: #define __SSE3__ 1
- // CHECK_BDVER4_M64: #define __SSE4A__ 1
- // CHECK_BDVER4_M64: #define __SSE4_1__ 1
- // CHECK_BDVER4_M64: #define __SSE4_2__ 1
- // CHECK_BDVER4_M64: #define __SSE_MATH__ 1
- // CHECK_BDVER4_M64: #define __SSE__ 1
- // CHECK_BDVER4_M64: #define __SSSE3__ 1
- // CHECK_BDVER4_M64: #define __TBM__ 1
- // CHECK_BDVER4_M64: #define __XOP__ 1
- // CHECK_BDVER4_M64: #define __amd64 1
- // CHECK_BDVER4_M64: #define __amd64__ 1
- // CHECK_BDVER4_M64: #define __bdver4 1
- // CHECK_BDVER4_M64: #define __bdver4__ 1
- // CHECK_BDVER4_M64: #define __tune_bdver4__ 1
- // CHECK_BDVER4_M64: #define __x86_64 1
- // CHECK_BDVER4_M64: #define __x86_64__ 1
- //
- // End X86/GCC/Linux tests ------------------
- // Begin PPC/GCC/Linux tests ----------------
- // RUN: %clang -mvsx -E -dM %s -o - 2>&1 \
- // RUN: -target powerpc64-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PPC_VSX_M64
- //
- // CHECK_PPC_VSX_M64: #define __VSX__
- //
- // RUN: %clang -mpower8-vector -E -dM %s -o - 2>&1 \
- // RUN: -target powerpc64-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PPC_POWER8_VECTOR_M64
- //
- // CHECK_PPC_POWER8_VECTOR_M64: #define __POWER8_VECTOR__
- //
- // RUN: %clang -mcrypto -E -dM %s -o - 2>&1 \
- // RUN: -target powerpc64-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PPC_CRYPTO_M64
- //
- // CHECK_PPC_CRYPTO_M64: #define __CRYPTO__
- //
- // RUN: %clang -mcpu=pwr8 -E -dM %s -o - 2>&1 \
- // RUN: -target powerpc64-unknown-unknown \
- // RUN: | FileCheck %s -check-prefix=CHECK_PPC_GCC_ATOMICS
- // RUN: %clang -E -dM %s -o - 2>&1 \
- // RUN: -target powerpc64le-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_PPC_GCC_ATOMICS
- //
- // CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1
- // CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2
- // CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
- // CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8
- //
- // End PPC/GCC/Linux tests ------------------
- // Begin Sparc/GCC/Linux tests ----------------
- //
- // RUN: %clang -E -dM %s -o - 2>&1 \
- // RUN: -target sparc-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_SPARC
- //
- // CHECK_SPARC: #define __BIG_ENDIAN__ 1
- // CHECK_SPARC: #define __sparc 1
- // CHECK_SPARC: #define __sparc__ 1
- // CHECK_SPARC: #define __sparcv8 1
- //
- // RUN: %clang -E -dM %s -o - 2>&1 \
- // RUN: -target sparcel-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_SPARCEL
- //
- // CHECK_SPARCEL: #define __LITTLE_ENDIAN__ 1
- // CHECK_SPARCEL: #define __sparc 1
- // CHECK_SPARCEL: #define __sparc__ 1
- // CHECK_SPARCEL: #define __sparcv8 1
- //
- // RUN: %clang -E -dM %s -o - 2>&1 \
- // RUN: -target sparcv9-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_SPARCV9
- //
- // CHECK_SPARCV9: #define __BIG_ENDIAN__ 1
- // CHECK_SPARCV9: #define __sparc 1
- // CHECK_SPARCV9: #define __sparc64__ 1
- // CHECK_SPARCV9: #define __sparc__ 1
- // CHECK_SPARCV9: #define __sparc_v9__ 1
- // CHECK_SPARCV9: #define __sparcv9 1
- // CHECK_SPARCV9: #define __sparcv9__ 1
- // Begin SystemZ/GCC/Linux tests ----------------
- //
- // RUN: %clang -march=z10 -E -dM %s -o - 2>&1 \
- // RUN: -target s390x-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_SYSTEMZ_Z10
- //
- // CHECK_SYSTEMZ_Z10: #define __LONG_DOUBLE_128__ 1
- // CHECK_SYSTEMZ_Z10: #define __s390__ 1
- // CHECK_SYSTEMZ_Z10: #define __s390x__ 1
- // CHECK_SYSTEMZ_Z10: #define __zarch__ 1
- //
- // RUN: %clang -march=zEC12 -E -dM %s -o - 2>&1 \
- // RUN: -target s390x-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_SYSTEMZ_ZEC12
- //
- // CHECK_SYSTEMZ_ZEC12: #define __HTM__ 1
- // CHECK_SYSTEMZ_ZEC12: #define __LONG_DOUBLE_128__ 1
- // CHECK_SYSTEMZ_ZEC12: #define __s390__ 1
- // CHECK_SYSTEMZ_ZEC12: #define __s390x__ 1
- // CHECK_SYSTEMZ_ZEC12: #define __zarch__ 1
- //
- // RUN: %clang -mhtm -E -dM %s -o - 2>&1 \
- // RUN: -target s390x-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_SYSTEMZ_HTM
- //
- // CHECK_SYSTEMZ_HTM: #define __HTM__ 1
- //
- // RUN: %clang -fzvector -E -dM %s -o - 2>&1 \
- // RUN: -target s390x-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_SYSTEMZ_ZVECTOR
- // RUN: %clang -mzvector -E -dM %s -o - 2>&1 \
- // RUN: -target s390x-unknown-linux \
- // RUN: | FileCheck %s -check-prefix=CHECK_SYSTEMZ_ZVECTOR
- //
- // CHECK_SYSTEMZ_ZVECTOR: #define __VEC__ 10301
|