Re: Porting HP C from Alpha to Itanium - __DIVG_C
- From: "Tom Linden" <tom@xxxxxxxxxxxxxxxxx>
- Date: Mon, 04 Jun 2007 07:45:10 -0700
On Mon, 04 Jun 2007 05:17:36 -0700, FredK <fred.nospam@xxxxxxx> wrote:
I respectfully disagree. Requiring customers to recompile their apps is
"Robert Deininger" <rdeininger@xxxxxxxxxxxxxxxxx> wrote in message
news:rdeininger-0306072027510001@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
In article <4661CE79.2F6A7B21@xxxxxxxxxxxxxxxx>, David J Dachtera
<djesys.no@xxxxxxxxxxxxxxxx> wrote:
re-link"For those of you keeping score at home, the three services are:
SYS$IEEE_SET_FP_CONTROL
SYS$IEEE_SET_PRECISION_MODE
SYS$IEEE_SET_ROUNDING_MODE
All documented and supported.
...which, of course, goes well beyond the highly touted "re-compile andsource-code compatibility (other than privileged code, that is).
Who touted that, as an all-encompassing principle? VMS Engineering has
always made it perfectly clear that some non-privileged code won't port
easily.
The HW architecture-specific builtins are just that - HW specific. In some
cases, the usage was so widespread, and/or the replacement was so
straightforward - that they were provided.
The apparent provenance of the __DIVx_C builtin was that they were provided
for the people implementing the Alpha math library. The belief/feeling was
that they are only used by math & floating point experts who required
something very specific, and that such experts would be aware that when the
underlying floating point implementation completely changed - that they
would need to use alternative methods.
Having said that, I believe (and have suggested internally) that we (HP/VMS)
were remiss in not providing some type of writeup explaining the underlying
usage and suggesting alternatives.
In the case of __DIVG_C - I don't think it would have been a good idea to
try and emulate the instruction transparently. It was provided to allow
writing of some very specific high-performance math function - so wrapping a
sys$ieee_set_rounding_mode call around it may have provided very poor
performance if this builtin was inside a loop.
For the most part, typical C language programs are compile and go. A
typical C program doesn't use Alpha-specific builtins available only in HP
C.
bad enough and not providing transparency, because they are experts and
can fix it themselves is very poor business practice that borders on
arrogance.
--
PL/I for OpenVMS
www.kednos.com
.
- Follow-Ups:
- Re: Porting HP C from Alpha to Itanium - __DIVG_C
- From: JF Mezei
- Re: Porting HP C from Alpha to Itanium - __DIVG_C
- From: FredK
- Re: Porting HP C from Alpha to Itanium - __DIVG_C
- References:
- Re: Porting HP C from Alpha to Itanium - __DIVG_C
- From: John Reagan
- Re: Porting HP C from Alpha to Itanium - __DIVG_C
- From: Richard Maher
- Re: Porting HP C from Alpha to Itanium - __DIVG_C
- From: John Reagan
- Re: Porting HP C from Alpha to Itanium - __DIVG_C
- From: Larry Kilgallen
- Re: Porting HP C from Alpha to Itanium - __DIVG_C
- From: John Reagan
- Re: Porting HP C from Alpha to Itanium - __DIVG_C
- From: David J Dachtera
- Re: Porting HP C from Alpha to Itanium - __DIVG_C
- From: Robert Deininger
- Re: Porting HP C from Alpha to Itanium - __DIVG_C
- From: FredK
- Re: Porting HP C from Alpha to Itanium - __DIVG_C
- Prev by Date: Re: Paging and process state
- Next by Date: Can't connect to OPA0 on XP1000
- Previous by thread: Re: Porting HP C from Alpha to Itanium - __DIVG_C
- Next by thread: Re: Porting HP C from Alpha to Itanium - __DIVG_C
- Index(es):
Relevant Pages
|