https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109954
Bug ID: 109954 Summary: x86-64's -m32 does not conform to documentation Product: gcc Version: 13.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: jbeulich at suse dot com Target Milestone: --- Quote from doc: "The -m32 option sets int, long, and pointer types to 32 bits, and generates code that runs on any i386 system." While it may well be that the documentation is misleading, I also won't exclude that generated code is wrong instead for a compiler that defaults to generate 64-bit code: cmov<cc> or SSE insns are happily used by the compiler, for example. Respective pre-processor symbols are also defined, including __k8__ and __FXSR__. Just to make it explicit: No -march= or -mtune= options were used, just -m32.