Zumindest auf meiner C3700 mit HP-UX 11.11 zeigt ein kleiner C/C++-Praxistest mit HP und GNU Compiler keinerlei Anzeichen von Quad in Hardware.
HP-UX B.11.11 9000/785
cpp.ansi: HP92453-01 B.11.11.16 HP C Preprocessor (ANSI)
ccom: HP92453-01 B.11.X.36086-36089-36092.GP HP C Compiler
/usr/ccs/bin/ld: 92453-07 linker linker ld B.11.68 090514
GNU C version 4.2.2 (hppa2.0w-hp-hpux11.11)
Addition mit Datentyp double (64 Bit), wie erwartet:
FLDD -72(%r30),%fr5 ;offset 0x6c
LDIL LR'S$12$main,%r20 ;offset 0x70
FLDD RR'S$12$main+24(%r20),%fr6 ;offset 0x74
FADD,DBL %fr5,%fr6,%fr7 ;offset 0x78
FSTD %fr7,-72(%r30) ;offset 0x7c
Addition mit Datentyp long double (128 Bit):
LDO -64(%r30),%r26 ;offset 0xa8
LDO -88(%r30),%r25 ;offset 0xac
LDO -104(%r30),%r28 ;offset 0xb0
LDIL L'_U_Qfadd,%r31 ;offset 0xb4
.CALL ARGW0=GR,ARGW1=GR,RTNVAL=GR ;in=25,26,28;
BE,L R'_U_Qfadd(%sr4,%r31),%r31 ;offset 0xb8
Es wird also auf eine Bibliotheksroutine Qfadd (in libc) ausgewichen. Dort finden sich auch Qfsub, Qfmul, Qfsqrt usw.
Um mit handgestricktem Assembler eine Quad-Operation zu versuchen fehlt mir im Moment leider die Zeit.