Ubunt信息如下。

root@hanyw:~gcc--versiongcc(~22.04)11.3.0Copyright(C)2021FreeSoftwareFoundation,;;notevenforMERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.

GCC帮助手册的第16小节,第10288~11288行,如下。

10288Mostextensionnamesaregenericallynamed,buthavean,the+simdoptioncanbeappliedtobotharmv7-aandarmv8-a10290architectures,butwillenabletheoriginalARMv7-AAdvancedSIMD(Neon)mv6t210300armv6z10301armv6zk10302+++,+fpTheVFPv3floating-pointinstructions,+ecture,++++fpTheVFPv3floating-pointinstructions,++simd10321TheAdvancedSIMD(Neon)+neonand10322++vfpv310324TheVFPv3floating-pointinstructions,+vfpv3-d16-fp1610326TheVFPv3floating-pointinstructions,with16double-precisionregis+vfpv3-fp1610329TheVFPv3floating-pointinstructions,with32double-precisionregis+vfpv4-d1610332TheVFPv4floating-pointinstructions,+vfpv410334TheVFPv4floating-pointinstructions,+neon-fp1610336TheAdvancedSIMD(Neon)v1andtheVFPv3floating-pointinstructions,+neon-vfpv410339TheAdvancedSIMD(Neon)+nosimd10341DisabletheAdvancedSIMDinstructions(doesnotdisablefloatingpoint).10342++fpTheVFPv4floating-pointinstructions,++simd10349TheAdvancedSIMD(Neon)++vfpv3-d1610352TheVFPv3floating-pointinstructions,+vfpv310354TheVFPv3floating-pointinstructions,+vfpv3-d16-fp1610356TheVFPv3floating-pointinstructions,with16double-precisionregis+vfpv3-fp1610359TheVFPv3floating-pointinstructions,with32double-precisionregis+vfpv4-d1610362TheVFPv4floating-pointinstructions,+vfpv410364TheVFPv4floating-pointinstructions,+neon10366TheAdvancedSIMD(Neon)++neon-fp1610369TheAdvancedSIMD(Neon)v1andtheVFPv3floating-pointinstructions,+nosimd10372DisabletheAdvancedSIMDinstructions(doesnotdisablefloatingpoint).10373++crc10377TheCyclicRedundancyCheck(CRC)++++nofp10385Disablethefloating-point,++++++nofp10398Disablethefloating-point,+++fp1610405++++++nofp10420Disablethefloating-point,+++++fp1610432saswellastheDotProdu++++nofp10443Disablethefloating-point,+++++fp1610455saswellastheDotProdu++++nofp10466Disablethefloating-point,+++fp1610475saswellastheDotProdu++++nofp10486Disablethefloating-point,+++++fpTh++vfpv3xd-d16-fp1610500Thesingle-precisionVFPv3floating-pointinstructionswith16double-precisionregis+vfpv3-d16-fp1610503TheVFPv3floating-pointinstructionswith16double-precisionregis+++++++++mve10523TheM-ProfileVectorExtension(MVE)+(MVE)++++cdecp0,+cdecp1,,+cdecp710532EnabletheCustomDatapathExtension(CDE)onselectedcoproc++++++cdecp0,+cdecp1,,+cdecp710545EnabletheCustomDatapathExtension(CDE)onselectedcoproc+crc10549TheCyclicRedundancyCheck(CRC)+++++nofp10559Disablethefloating-point,=native,this10561featureisonlysupportedonGNU/Linux,=name10564Thisoptionspecifiesthenameofthetarg:arm7tdmi,arm7tdmi-s,arm710t,arm720t,arm740t,strongarm,strongarm110,strongarm1100,105670strongarm1110,arm8,arm810,arm9,arm9e,arm920,arm920t,arm922t,arm946e-s,arm966e-s,arm968e-s,10568arm926ej-s,arm940t,arm9tdmi,arm10tdmi,arm1020t,arm1026ej-s,arm10e,arm1020e,arm1022e,arm1136j-s,10569arm1136jf-s,mpcore,mpcorenovfp,arm1156t2-s,arm1156t2f-s,arm1176jz-s,arm1176jzf-s,generic-armv7-a,10570cortex-a5,cortex-a7,cortex-a8,cortex-a9,cortex-a12,cortex-a15,cortex-a17,cortex-a32,cortex-a35,10571cortex-a53,cortex-a55,cortex-a57,cortex-a72,cortex-a73,cortex-a75,cortex-a76,cortex-a76ae,10572cortex-a77,cortex-a78,cortex-a78ae,cortex-a78c,ares,cortex-r4,cortex-r4f,cortex-r5,cortex-r7,10573cortex-r8,cortex-r52,cortex-m0,cortex-m0plus,cortex-m1,cortex-m3,cortex-m4,cortex-m7,cortex-m23,10574cortex-m33,cortex-m35p,cortex-m55,cortex-x1,,,10575,exynos-m1,marvell-pj4,neoverse-n1,neoverse-n2,neoverse-v1,xscale,10576iwmmxt,iwmmxt2,ep9312,fa526,fa626,fa606te,fa626te,fmp626,fa726te,,this:,,,10579,,,,10580=generic-archspecifiesthatGCCshouldtunors,10583balancingbetweenoptimizationsthatbenefitsomeCPUsintherange,,bu=,thisfeature10588isonlysupportedonGNU/Linux,=name[+extension]10591(asifspecifiedby-march)andtheARMprocessortypeforwhichtotuneforperformance10593(asifspecifiedby-mtune).Wherethisoptionisusedinconjunctionwith-marchor-mtune,th,thenthe10597exte(Neon)instructions,thesettingsoftheoptions-mfloat-abiand-mfpumustalsobe10599considered:floating-pointandAdvancedSIMDinstructionswillonlybeusedif-mfloat-abiisnotsetto10600soft;andanysettingof-mfpuotherthanautowillover,cortex-a9canbefoundinthreemajorconfigurations:integeronly,with,butthe10604extensions+nosimdand+nofpcanbeusedtodisablejustthe:10608+nodsp10609DisabletheDSPinstructionsoncortex-m33,+nofp10611Disablesthefloating-pointinstructionsonarm9e,arm946e-s,arm966e-s,arm968e-s,arm10e,arm1020e,10612arm1022e,arm926ej-s,arm1026ej-s,cortex-r5,cortex-r7,cortex-r8,cortex-m4,cortex-m7,,cortex-a5,10614cortex-a7,cortex-a8,cortex-a9,cortex-a12,cortex-a15,cortex-a17,,10615,cortex-a32,cortex-a35,+nstructionsoncortex-r5,cortex-r7,10618cortex-r8,+nosimd10620DisablestheSIMD(butnotfloating-point)instructionsongeneric-armv7-a,cortex-a5,+crypto10623Enablesthecryptographicinstructionsoncortex-a32,cortex-a35,cortex-a53,cortex-a55,cortex-a57,10624cortex-a72,cortex-a73,cortex-a75,exynos-m1,xgene1,,,10625,:mp,sec,vfpv3-d16,vfpv3,vfpv3-d16-fp16,vfpv3-fp16,vfpv4-d16,10628vfpv4,neon,neon-vfpv3,neon-fp16,==generic-archisalsopermissible,andisequivalentto-march=arch-mtune==,thisfeatureis10633onlysupportedonGNU/Linux,=name10636Thisspecifieswhatfloating-pointhardware(orhardwareemulation):auto,vfpv2,vfpv3,vfpv3-fp16,vfpv3-d16,vfpv3-d16-fp16,vfpv3xd,vfpv3xd-fp16,10638neon-vfpv3,neon-fp16,vfpv4,vfpv4-d16,fpv4-sp-d16,neon-vfpv4,fpv5-d16,fpv5-sp-d16,fp-armv8,10639n(-mfpu=neon),notethatfloating-10644pointoperationsarenotgeneratedbyGCC'sauto-vectoridforfloating-10646pointarithmetic(inparticulardenormalvaluesaretreatedaszero),"target("fpu=")"=name10651Specifytheformatofthe"__fp16",ieee,10652andalternative;thedefaultisnone,inwhichcasethe"__fp16"=n10654Thesizesofallstructuresanduni,32,moreefficientcode,odeorlibrariescompiledwithanothervalue,"abort"attheofa"noreturn"formfunctioncallsbyfirstloadingtheaddressofthefunctionigabyteadd,,functionsthathavethe"short_call"attribute,functionsthatareinsidethescopeofa10673"pragmalong_calls",asdoes10678placingthefunctioncallswithinthescopeofa"410705Whenperformingastackbacktrace,codecaninspectthevalueof"pc"storedat"fp+0".Ifthetrace10706functionthenlooksatlocation"pc-12"andthetop8bitsareset,thenweknowthatthereisafunction10707nameembeddedimmediatelyprecedingthislocationandhaslength"((pc[-3])0xff000000)".10708-mthumb10709-marm10710sinARMstate,butthedefaultcanbechangedbyconfiguringGCCwiththe10712--with-mode=the"target("thumb")"and10714"target("arm")"//ARMcodegeneration,(Aleaffunctionisonethatdoesnotcallanyotherfunctions.)ththeThumbProcedureCallStandardforallleaffunctions.(A10723leaffunctionisonethatdoesnotcallanyotherfunctions.)unctionsinthefilebeingcompiledanARMinstructionsetheaderw0728ters(includingvirtualfunctions)toexecutecorrectlyregardles=,whichgenerates10736callsto"__aeabi_read_tp",cp15,whichfetchesthethreadpointerfrom"cp15"directly(supportedinthe10737arm6karchitecture),andauto,=d,,butdoesrequirenewassembler,rd-sizedvalues(_ARM_ABS32).Thisisenabledbydefaulton10748targets(uClinux,SymbianOS)wheretheruntimeloaderimposesthisrestriction,ruptionwhen"ldrd"ins=(ordisables)readingandwritingof16-,allARMv6-MandforARMv8-M10758Baselinearchitectures,"Tag_CPU_unaligned_access"issetinthegeneratedobjectfiletoeithertrueorfalse,10761"__ARM_FEATURE_UNALIGNED"10768,,whencompilingforELFobject10785formatgivealltextsectionstheELFprocessor-specificsectionattribute"SHF_ARM_PURECODE".Thisoption10786"ARMv8-MSecurityExtensions:RequirementsonDevelopmentToolsEngineering10789Specification",whichcanbefoundon;.10790-mfix-cmse-cve-2Mitigateagainstapotentialsecurityissuewiththe"VLLDM"instructioninsomeM-profiledeviceswhen10792usingCMSE(CVE-2021-365465).Thisoptionisenabledbydefaultwhentheoption-mcpu=isusedwith10793"cortex-m33","cortex-m35p"or"cortex-m55".Theoption-,w"arm-*-uclinuxfdpiceabi"targets,thisoptionisonbydefaultandimplies-fPIE10799ifnoneofthePIC/,itonlyenablestheFDPIC-specific10800codegenerationfeatures,andtheusershouldexplicitlyprovidethePIC/,use-staticand-Wl,-(andrequired)tobuildtheLinuxkernelusingthesame10804("arm-*-uclinuxfdpiceabi"):10807-mmcu=mcu10808SpecifyAtmelAVRinstructionsetarchitectures(ISA):10811"avr2"10812"Classic"="attiny22","attiny26","at90s2313",10813"at90s2323","at90s2333","at90s2343","at90s4414","at90s4433","at90s4434","at90c8534","at90s8515",10814"at90s8535".10815"avr25"10816"Classic"deviceswithupto8KiBofprogrammemoryandwiththe"MOVW"=10817"attiny13","attiny13a","attiny24","attiny24a","attiny25","attiny261","attiny261a","attiny2313",10818"attiny2313a","attiny43u","attiny44","attiny44a","attiny45","attiny48","attiny441","attiny461",10819"attiny461a","attiny4313","attiny84","attiny84a","attiny85","attiny87","attiny88","attiny828",10820"attiny841","attiny861","attiny861a","ata5272","ata6616c","at86rf401".10821"avr3"10822"Classic"="at76c711","at43usb355".10823"avr31"10824"Classic"="atmega103","at43usb320".10825"avr35"10826"Classic"deviceswith16KiBupto64KiBofprogrammemoryandwiththe"MOVW"=10827"attiny167","attiny1634","atmega8u2","atmega16u2","atmega32u2","ata5505","ata6617c","ata664251",10828"at90usb82","at90usb162".10829"avr4"10830"Enhanced"="atmega48","atmega48a","atmega48p",10831"atmega48pa","atmega48pb","atmega8","atmega8a","atmega8hva","atmega88","atmega88a","atmega88p",10832"atmega88pa","atmega88pb","atmega8515","atmega8535","ata6285","ata6286","ata6289","ata6612c",10833"at90pwm1","at90pwm2","at90pwm2b","at90pwm3","at90pwm3b","at90pwm81".10834"avr5"10835"Enhanced"="atmega16","atmega16a",10836"atmega16hva","atmega16hva2","atmega16hvb","atmega16hvbrevb","atmega16m1","atmega16u4",10837"atmega161","atmega162","atmega163","atmega164a","atmega164p","atmega164pa","atmega165",10838"atmega165a","atmega165p","atmega165pa","atmega168","atmega168a","atmega168p","atmega168pa",10839"atmega168pb","atmega169","atmega169a","atmega169p","atmega169pa","atmega32","atmega32a",10840"atmega32c1","atmega32hvb","atmega32hvbrevb","atmega32m1","atmega32u4","atmega32u6","atmega323",10841"atmega324a","atmega324p","atmega324pa","atmega325","atmega325a","atmega325p","atmega325pa",10842"atmega328","atmega328p","atmega328pb","atmega329","atmega329a","atmega329p","atmega329pa",10843"atmega3250","atmega3250a","atmega3250p","atmega3250pa","atmega3290","atmega3290a","atmega3290p",10844"atmega3290pa","atmega406","atmega64","atmega64a","atmega64c1","atmega64hve","atmega64hve2",10845"atmega64m1","atmega64rfr2","atmega640","atmega644","atmega644a","atmega644p","atmega644pa",10846"atmega644rfr2","atmega645","atmega645a","atmega645p","atmega649","atmega649a","atmega649p",10847"atmega6450","atmega6450a","atmega6450p","atmega6490","atmega6490a","atmega6490p","ata5795",10848"ata5790","ata5790n","ata5791","ata6613c","ata6614q","ata5782","ata5831","ata8210","ata8510",10849"ata5702m322","at90pwm161","at90pwm216","at90pwm316","at90can32","at90can64","at90scr100",10850"at90usb646","at90usb647","at94k","m3000".10851"avr51"10852"Enhanced"="atmega128","atmega128a","atmega128rfa1",10853"atmega128rfr2","atmega1280","atmega1281","atmega1284","atmega1284p","atmega1284rfr2",10854"at90can128","at90usb1286","at90usb1287".10855"avr6"10856"Enhanced"deviceswith3-bytePC,=10857"atmega256rfr2","atmega2560","atmega2561","atmega2564rfr2".10858"avrxmega2"10859"XMEGA"="atxmega8e5",10860"atxmega16a4","atxmega16a4u","atxmega16c4","atxmega16d4","atxmega16e5","atxmega32a4",10861"atxmega32a4u","atxmega32c3","atxmega32c4","atxmega32d3","atxmega32d4","atxmega32e5".10862"avrxmega3"10863"XMEGA"deviceswithupto64KiBofcombinedprogrammemoryandRAM,="attiny202","attiny204","attiny212","attiny214","attiny402",10865"attiny404","attiny406","attiny412","attiny414","attiny416","attiny417","attiny804","attiny806",10866"attiny807","attiny814","attiny816","attiny817","attiny1604","attiny1606","attiny1607",10867"attiny1614","attiny1616","attiny1617","attiny3214","attiny3216","attiny3217","atmega808",10868"atmega809","atmega1608","atmega1609","atmega3208","atmega3209","atmega4808","atmega4809".10869"avrxmega4"10870"XMEGA"="atxmega64a3",10871"atxmega64a3u","atxmega64a4u","atxmega64b1","atxmega64b3","atxmega64c3","atxmega64d3",10872"atxmega64d4".10873"avrxmega5"10874"XMEGA"deviceswit="atxmega64a1","atxmega64a1u".10876"avrxmega6"10877"XMEGA"="atxmega128a3","atxmega128a3u",10878"atxmega128b1","atxmega128b3","atxmega128c3","atxmega128d3","atxmega128d4","atxmega192a3",10879"atxmega192a3u","atxmega192c3","atxmega192d3","atxmega256a3","atxmega256a3b","atxmega256a3bu",10880"atxmega256a3u","atxmega256c3","atxmega256d3","atxmega384c3","atxmega384d3".10881"avrxmega7"10882"XMEGA"=10883"atxmega128a1","atxmega128a1u","atxmega128a4u".10884"avrtiny"10885"TINY"="attiny4","attiny5",10886"attiny9","attiny10","attiny20","attiny40".10887"avr1"10888This="attiny11",10889"attiny12","attiny15","attiny28","at90s1200".10890-mabsdata10891AssumethatalldatainstaticstoragecanbeaccessedbyLDS/"absdata"AVRVariableAttributes,ndacquire/releasetheneededstackspaceforoutgoingfunction10896argumentsonceinfunctionprologue/,outgoingasothataccumulatingthestackspace10899mightleadtosmallerexecutablesbecauseaeveralcallstofunctionsthat=c,10905/=bits10909-mlong-double=bits10910Setthesize(inbits)ofthe"double"or"longdouble"type,"--with-double="and10912"--with-long-double="configureoptions(""),(ISRs)mayusethe"__gcc_isr",thefeaturecanstillbedisabledforindividualISRsbymeansoftheAVRFunction10917Attributes,,"no_gccisr"(butnotwith-Og,@pxref{OptimizeOptions}),andifGNUBinutilssupportPR2168310919("").10920-mint810921Assume"int":a"char"is1byte,an"int"is110922byte,a"long"is2bytes,and"longlong",_task10925Donotsaveregistersin"main".TheeffectisthesamelikeattachingattributeAVRFunction10926Attributes,,"OS_task"to"main".="CALL"resp."JMP"instructionbytheshorter"RCALL"resp."RJMP"'scommandlineandthe10934--relaxoptiontothelinker',theassemblercodegeneratedbythecompileristhesame,buttheinstructions,seethesectionon"EIND"nstructions"XCH","LAC","LAS"and"LAT".10941-mshort-calls10942Assumethat"RJMP"and"RCALL",andyoudon',,youdon'tilibsforarchitectures"avr2"and10949"avr25".Thesearchitecturesmixdeviceswithandwithout"SPH".Foranysettingotherthan-mmcu=avr2or10950-mmcu=avr25thecompilerdriveraddsorremovesthisoptionfromthecompilerproper'scommandline,10951becausethecompilerthenknowsifthedeviceorarchitecturehasan8-bitstackpointerandthusno"SPH"10952"X""X"isonlyusedinindirect,10955,the"X"registermaybeusedinthesamewayas"Y"or"Z",loadingavaluewith"X+const"addressingwithasmallnon-negative10958"const64"toaregisterRnisperformedas10959adiwr26,const;X+=const10960ldRn,X;Rn=*X10961sbiwr26,const;X-=cons'tlinkagainstAVR-LibC'sdevicespecificlibrary"".10968-nodevicespecs10969Don'tadd-specs=device-specs/specs-mcutothecompilerdriver'compilerproper,of10972-specs==yingcustomdevice-specsfilesthat10974needed-Bsome-pathtopointtoadirectorywhichcontainsafoldernamed"device-specs"whichcontainsa10975specsfilenamed"specs-mcu",wheremcuwasspecifiedby-mmcu=sspacesinthecasewherethere,__"EIND"andDeviceswithMoreThaatinytesofprogrammemoryspace,thereisa10985specialfunctionregistercalled"EIND"thatservesasmostsignificantpartofthetargetaddresswhen10986"EICALL"or"EIJMP"ecompilerandaresubjecttosome10988limitations:10989*Thecompilerneversets"EIND".10990*Thecompileruses"EIND"implicitlyin"EICALL"/"EIJMP"instructionsormightread"EIND"directlyinorder10991toemulateanindirectcall/jumpbymeansofa"RET"*Thecompilerassumesthat"EIND","EIND"isnotsaved/restoredinfunctionorinterruptserviceroutineprologue/*Forindirectcallstofunctionsandcomputedgoto,,theindirectcall/*Linkerrelaxationmustbet*Thedefaultlinkerscriptisarrangedforcodewith"EIND=0".Ifcodeissupposedtoworkforasetup11001with"EIND!=0",acustomlinkerscripthastobeusedinordertoplacethesectionswhosenamestart11002with".trampolines"intothesegmentwhere"EIND"*Thestartupcodefromlibgccneversets"EIND"."EIND",seetheAVR-LibCusermanual11005("").11006*Itislegitimateforuser-specificstartupcodetosetup"EIND"early,forexamplebymeansof11007initializationcodelocatedinsection".init3".Suchcoderunspriortogeneralstartupcodethat11008initializesRAMandcallsconstructors,butafterthebitofstartupcodefromAVR-LibCthatsets"EIND"#includeavr/__attribute__((section(".init3"),naked,used,no_instrument_function))11013init3_set_eind(void)11014{11015__asmvolatile("ldir24,pm_hh8(__trampolines_start)\n\t"11016"out%i0,r24"::"n"(EIND):"r24","memory");11017}11018The"__trampolines_start"*Stubsaregeneratedautomaticallybythelinkerifthefollowingtwoconditionsaremet:11020-Theaddressofalabelistakenbymeansofthe"gs"modifier11021(shortforgeneratestubs)likeso:11022LDIr24,lo8(gs(func))11023LDIr25,hi8(gs(func))11024-Thefinallocationofthatlab*Thecompileremitssuch"gs"modifiersforcodelabelsinthefollowingsituations:11027-,/++constructors/destructorscalledduringstartup/"gs()"*Jumpingtonon-symbolicaddresseslikesoisnotsupported:11036intmain(void)11037{11038/*Callfunctionatwordaddress0x2*/11039return((int(*)(void))0x2)();11040}11041Instead,astubhastobesetup,("func_4"inthe11042example):11043intmain(void)11044{11045externintfunc_4(void);11046/*Callfunctionatbyteaddress0x4*/11047returnfunc_4();11048}11049andtheapplicationbelinkedwith-Wl,--defsym,func_4=0,"func_4""RAMPD","RAMPX","RAMPY"and"RAMPZ"SpecialFunctionRegisters11052SomeAVRdevicessupportmem,thecontentofa"RAMP"registerisusedashighpartofthe11054address:The"X","Y","Z"addressregisterisconcatenatedwiththe"RAMPX","RAMPY","RAMPZ"specialfunction11055register,respectively,,"RAMPD"*Thestartupcodeinitializesthe"RAMP"*IfaAVRNamedAddressSpaces,namedaddressspaceotherthangenericor"__flash"isused,then"RAMPZ"*IfthedevicesupportsRAMlargerthan64KiBandthecompilerneedstochange"RAMPZ"toaccomplishan11060operation,"RAMPZ"*Ifthedevicecomeswithaspecific"RAMP"register,theISRprologue/epiloguesaves/restoresthatSFRand11062initializesitwithzeroincasetheISRcodemight(implicitly)*addressrangeandchangeoneofthe"RAMP"registers,apabilitiesandthustriggeredbythe11069-mmcu="__AVR_ARCH__"11072Build-inmacrothatresolvestoadecimalnumberthatidentifiesthearchitectureanddepsonthe11073-mmcu=:110742,25,3,31,35,4,5,51,611075formcu="avr2","avr25","avr3","avr31","avr35","avr4","avr5","avr51","avr6",11076respectivelyand11077100,102,103,104,105,106,10711078formcu="avrtiny","avrxmega2","avrxmega3","avrxmega4","avrxmega5","avrxmega6","avrxmega7",11079,,with11080-mmcu="__AVR_Device__"11082Setting-mmcu=devicedefinesthisbuilt-inmacrowhichreflectsthedevice',11083-mmcu=atmega8definesthebuilt-inmacro"__AVR_ATmega8__",-mmcu=attiny261adefines"__AVR_ATtiny261A__",11084'namesfollowthescheme"__AVR_Device__"=,"__AVR_DEVICE_NAME__"11090Setting-mmcu=devicedefinesthisbuilt-inmacrotothedevice',with-mmcu=atmega8the11091macroisdefinedto"atmega8".11092Ifdeviceisnotadevicebutonlyacorearchitecturelikeavr51,"__AVR_XMEGA__"11094Thedevice/"__AVR_HAVE_ELPM__"11096Thedevicehasthe"ELPM""__AVR_HAVE_ELPMX__"11098Thedevicehasthe"ELPMRn,Z"and"ELPMRn,Z+""__AVR_HAVE_MOVW__"11100Thedevicehasthe"MOVW""__AVR_HAVE_LPMX__"11102Thedevicehasthe"LPMRn,Z"and"LPMRn,Z+""__AVR_HAVE_MUL__"11104"__AVR_HAVE_JMP_CALL__"11106Thedevicehasthe"JMP"and"CALL""__AVR_HAVE_EIJMP_EICALL__"11109"__AVR_3_BYTE_PC__"11110Thedevicehasthe"EIJMP"and"EICALL"(PC)"__AVR_2_BYTE_PC__"11113Theprogramcounter(PC)"__AVR_HAVE_8BIT_SP__"11116"__AVR_HAVE_16BIT_SP__"11117Thestackpointer(SP)"__AVR_HAVE_SPH__"11120"__AVR_SP8__"11121ThedevicehastheSPH(highpartofstackpointer)specialfunctionregisterorhasan8-bitstack11122pointer,=andinthecasesof-mmcu=avr211123and-mmcu="__AVR_HAVE_RAMPD__"11125"__AVR_HAVE_RAMPX__"11126"__AVR_HAVE_RAMPY__"11127"__AVR_HAVE_RAMPZ__"11128Thedevicehasthe"RAMPD","RAMPX","RAMPY","RAMPZ"specialfunctionregister,"__NO_INTERRUPTS__"11130"__AVR_ERRATA_SKIP__"11132"__AVR_ERRATA_SKIP_JMP_CALL__"11133SomeAVRdevices(AT90S8515,ATmega103)"SBRS","SBRC","SBIS","SBIC"and"CPSE".Thesecondmacroisonlydefinedif11135"__AVR_HAVE_JMP_CALL__""__AVR_ISA_RMW__"11137ThedevicehasRead-Modify-Writeinstructions(XCH,LAC,LASandLAT).11138"__AVR_SFR_OFFSET__=offset"11139InstructionsthatcanaddressI/Ospecialfunctionregistersdirectlylike"IN","OUT","SBI",sRAMlike"LD"or"STS".Thisoffsetdeps11141onthedevicearchitectureandhastobesubtractedfromtheRAMaddressinordertogettherespectiveI/"__AVR_SHORT_CALLS__"11144"__AVR_PM_BASE_ADDRESS__=addr"11146Somedevicessupportreadingfromflashmemorybymeansof"LD*""__AVR_PM_BASE_ADDRESS__".Ifthismacroisnotdefined,,theaddressspaceislinearandthereisnoneedtoput".rodata"11149,andiscurrentlyavailablefor"avrtiny"11150and"avrxmega3".Evenmoreconvenient,thereisnoneedtouseaddressspaceslike"__flash"orfeatures11151likeattribute"progmem"and"pgm_read_*".11152"__WITH_AVRLIBC__"11153"__HAVE_DOUBLE_MULTILIB__"11155Definedif-mdouble="__HAVE_DOUBLE32__"11157"__HAVE_DOUBLE64__"11158=.11160"__DEFAULT_DOUBLE__"11161Thesizeinbitsof"double"if-mdouble="double"inaprogram,usethe11162built-inmacro"__SIZEOF_DOUBLE__".11163"__HAVE_LONG_DOUBLE32__"11164"__HAVE_LONG_DOUBLE64__"11165"__HAVE_LONG_DOUBLE_MULTILIB__"11166"__DEFAULT_LONG_DOUBLE__"11167Sameasabove,butfor"longdouble"insteadof"double".11168"__WITH_DOUBLE_COMPARISON__"11169Reflectsthe"--with-double-comparison={tristate|bool|libf7}"configureoption11170("")"__WITH_LIBF7_LIBGCC__"11172"__WITH_LIBF7_MATH__"11173"__WITH_LIBF7_MATH_SYMBOLS__"11174Reflectsthe"--with-libf7={libgcc|math|math-symbols}"configureoption11175("").11176BlackfinOptions11177-mcpu=cpu[-sirevision]11178,cpucanbeoneofbf512,bf514,bf516,11179bf518,bf522,bf523,bf524,bf525,bf526,bf527,bf531,bf532,bf533,bf534,bf536,bf537,bf538,bf539,11180bf542,bf544,bf547,bf548,bf549,bf542m,bf544m,bf547m,bf548m,bf549m,bf561,,,"__SILICON_REVISION__"macroisdefinedtotwohexadecimaldig,the"__SILICON_REVISION__",the"__SILICON_REVISION__",GCC11187ass,thisoptioncausesthe11189,,,such11195as-mid-shared-libraryand-mfdpic,',set11198upandrest,thecompilerensuresthatthegenera,"__WORKAROUND_SPECULATIVE_LOADS"',thecompilerensuresthatthegeneratedcodedoesnotcont,"__WORKAROUND_SPECULATIVE_SYNCS"'tgenerateextracodetopreventCSYNCorSS,thecompilerisfreetotakeadvantageo,'dlibrariesviathelibraryIDmethod,butassumesthatthislibraryor11225executablewon'gcompiledwon'=n11231Specifie;specifyingothervaluesforcestheallocationofthatnumbertothecurrent11233formfunctioncallsbyfirstloadingtheaddressofthefunctionitadd's11250rulesforcheckinginputsagainstNot-a-Number(NAN),lticoretobeused,anddefinesthemacro"__BFIN_MULTICORE".Itcanonlybe11257usedwith-mcpu=bf561[-sirevision].11258Thisoptioncanbeusedwith-mcoreaor-mcoreb,,thesingle-application/,themainfunctionofCoreBshouldbenamedas"coreb_main".11261Ifthisoptionisnotused,,andthemacro"__BFIN_COREA",andthemacro"__BFIN_COREB","coreb_main"shouldbeusedinsteadof"main".toSDRAM,andthemacro"__BFIN_SDRAM",thedefaultistoassumeICPLBsareenabled;=:c62x,c64x,c64x+,c67x,11282c67x+,imulator.