Next: MIPS DSP Built-in Functions, Previous: FR-V Built-in Functions, Up: Target Builtins [Contents][Index]
For each built-in function for IA-16, there is an equally named, uppercase
built-in macro defined—for example, __BUILTIN_IA16_FP_OFF
. That
way users can easily query if or if not a specific built-in is implemented
or not.
__builtin_ia16_segment_t __builtin_ia16_selector (unsigned sel)
With -mprotected-mode (See IA-16 Options), internally flag sel as a segment selector value which can be loaded into a segment register, and return the flagged value. Without -mprotected-mode, simply return sel.
unsigned __builtin_ia16_FP_OFF (const void __far *fp)
Extract the offset portion of the far pointer fp. This function can be used within a static initializer, under certain conditions4.
__builtin_ia16_segment_t __builtin_ia16_near_data_segment (void)
Return the segment value for the generic (near) data address space.
__builtin_ia16_segment_t __builtin_ia16_ss (void)
Return the value of the stack segment register ss
.
This should return the same value as __builtin_ia16_near_data_segment
()
, unless the calling function is marked __attribute__
((__no_assume_ss_data__))
(see IA-16 Function Attributes).
Currently, this is allowed if fp is a pointer to a locally defined variable or function, or if fp points to an external variable or function and LTO is not in effect.