- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If I have a fortran program with:
real x
double precision xx
and compile with:
-real_size 64 -double_size 128
Are there any rules for boundary alignment of x or xx?
will X be on a 64 bit boundary and XX be on a 128 bit boundary?
Thanks?
Joe
real x
double precision xx
and compile with:
-real_size 64 -double_size 128
Are there any rules for boundary alignment of x or xx?
will X be on a 64 bit boundary and XX be on a 128 bit boundary?
Thanks?
Joe
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If you are referring to variables, the compiler will align them on natural boundaries, which in this case is indeex 64 and 128 bits. Earlier versions of the compiler did not align at greater than 64-bit boundaries.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The x86/x64 architectures are quite tolerant of misaligned accesses, unlike IA64, and the best alignments depend on the particular target CPU. The compiler provides a number of alignment-related options, and one should expect the -xHost option to select the best alignment if the development machine is also the target.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page