Port-sparc64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Code models on sparc v9



Hi, as far as I understand, compilers can generate code for 3 main code
models on sparc v9:

abs32 code model:
        Location  - low 32 bits of address space
        Code size - less than 2 gigabytes

abs44 code model:
        Location  - low 44 bits of address space
        Code size - less than 2 gigabytes

abs64 code model:
        Location  - anywhere
        Code size - less than 2 gigabytes

So a few questions,

Why implement different code models, is it mainly to reduce the number
of instructions when loading address constants into a register? Is that
the only difference between them?

Why is that in all code models, code size must be less than 2
gigabytes? Are there any large applications that might need more than 2
gigabytes?

When would you use abs64 code model, as opposed to abs44 or abs32?


Home | Main Index | Thread Index | Old Index