Problems building on HP-UX 11.31/IA
Albert Chin
gmp-bugs at mlists.thewrittenword.com
Mon Aug 26 03:34:49 CEST 2013
On Sun, Aug 25, 2013 at 06:48:06PM +0200, Marc Glisse wrote:
> On Fri, 23 Aug 2013, Albert Chin wrote:
>
> >(Accidentally sent to gmp-devel).
> >
> >I tried building gmp-5.1.2 on HP-UX 11.31/IA and ran into a problem:
> > $ tar Jxf gmp-5.1.2.tar.xz
> > $ cd gmp-5.1.2
> > gmp-5.1.2$ ./configure M4=/opt/fsw/m414/bin/gm4 --enable-cxx
> > ...
> > Version: GNU MP 5.1.2
> > Host type: itanium2-hp-hpux11.31
> > ABI: 32
> > Install prefix: /usr/local
> > Compiler: cc
> > Static libraries: yes
> > Shared libraries: yes
> > gmp-5.1.2$ gmake
> > ...
> > /opt/fsw/m414/bin/gm4 -DHAVE_CONFIG_H -D__GMP_WITHIN_GMP -DOPERATION_add_n -DPIC add_n.asm >tmp-add_n.s
> > cc -c -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_add_n +O3 tmp-add_n.s +Z -DPIC -o .libs/add_n.o
> > tmp-add_n.s:116: error 4032: must be in a bundle
>
> it seems that you are using HP's compiler. Does it work better if
> you use gcc and more precisely the GNU binutils? Just checking if
> this is a minor syntax difference between the two asm or something
> worse.
I think GCC works but our goal is to use the HP compiler and
assembler.
> Does it help if you manually add some '{' and '}' in the obvious
> places in mpn/ia64/aors_n.asm ? (assuming this is the file
> tmp-add_n.s is generated from)
Thanks. That helped things out. I've attached my patch to
mpn/ia64/aors_n.asm and the tmp-add_n.s generated by it. With these
changes, we're down to the following failures:
cc -c -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_add_n +O3 tmp-add_n.s +Z -DPIC -o .libs/add_n.o
tmp-add_n.s:188: error 4119: invalid integer constant
tmp-add_n.s:199: error 4001: syntax error
tmp-add_n.s:225: error 4119: invalid integer constant
tmp-add_n.s:235: error 4001: syntax error
tmp-add_n.s:268: error 4119: invalid integer constant
tmp-add_n.s:278: error 4001: syntax error
tmp-add_n.s:364: error 4003: invalid explicit bundle
tmp-add_n.s:441: warning 4045: redundant section directive
tmp-add_n.s:599: error 4119: invalid integer constant
tmp-add_n.s:604: error 4001: syntax error
tmp-add_n.s:655: error 4003: invalid explicit bundle
tmp-add_n.s:688: error 4003: invalid explicit bundle
gmake: *** [add_n.lo] Error 1
Analyzing the failures:
tmp-add_n.s:188: error 4119: invalid integer constant
}{.mmb; nop 0
nop 0
(p15) br 1f <---- Changed to an 31, the
int representation,
and it worked
;;
tmp-add_n.s:199: error 4001: syntax error
br .Lcj1
}
1: <---- Why? Replacing this
with a `.L<label>'
works but is it the
right thing to do?
{.mmi; ld8 r26 = [r34], 8
ld8 r16 = [r33], 8
shr.u r35 = r35, 3
;;
tmp-add_n.s:364: error 4003: invalid explicit bundle
}{.mmi; ld8 r24 = [r34], 8
cmp.ltu p6, p0 = r28, r10
ld8 r14 = [r33], 8 <---- Why?
}{.mbb; add r29 = r15, r25
(p15) br .Lc5
br .Lend
}
tmp-add_n.s:655: error 4003: invalid explicit bundle
{.mmi; add r20 = 500, r33
add r21 = 500, r34
mov ar.lc = r35
ld8 r25 = [r34], 8 <---- Why?
ld8 r15 = [r33], 8
nop 0
;;
tmp-add_n.s:688: error 4003: invalid explicit bundle
}{.mmi; add r20 = 500, r33
add r21 = 500, r34
add r3 = 16, r32
ld8 r27 = [r34], 8 <---- Why?
ld8 r17 = [r33], 8
nop 0
;;
--
albert chin (china at thewrittenword.com)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: aors_n.asm.diff
Type: text/x-diff
Size: 19576 bytes
Desc: not available
URL: <http://gmplib.org/list-archives/gmp-bugs/attachments/20130825/4e20cb4e/attachment-0001.bin>
-------------- next part --------------
.text
.align 32
.global __gmpn_add_nc#
.proc __gmpn_add_nc#
__gmpn_add_nc:
.prologue
.save ar.lc, r2
.body
addp4 r32 = 0, r32
addp4 r33 = 0, r33
addp4 r34 = 0, r34
zxt4 r35 = r35
;;
{.mmi; ld8 r11 = [r34], 8
ld8 r10 = [r33], 8
mov r2 = ar.lc
}{.mmi; and r14 = 7, r35
cmp.lt p15, p14 = 8, r35
add r35 = -6, r35
;;
}
{.mmi; add r20 = 500, r33
add r21 = 500, r34
mov r23 = r36
;;
}{.mmi; cmp.eq p6, p0 = 1, r14
cmp.eq p7, p0 = 2, r14
cmp.eq p8, p0 = 3, r14
}{.bbb
(p6) br.dptk .Lc001
(p7) br.dptk .Lc010
(p8) br.dptk .Lc011
;;
}
{.mmi; cmp.eq p9, p0 = 4, r14
cmp.eq p10, p0 = 5, r14
cmp.eq p11, p0 = 6, r14
}{.bbb
(p9) br.dptk .Lc100
(p10) br.dptk .Lc101
(p11) br.dptk .Lc110
;;
}{.mmi; ld8 r19 = [r34], 8
ld8 r18 = [r33], 8
cmp.ne p13, p0 = 0, r36
}{.mmb; cmp.eq p12, p0 = 7, r14
nop 0
(p12) br.dptk .Lc111
;;
}
.Lc000:
{.mmi; ld8 r27 = [r34], 8
ld8 r17 = [r33], 8
shr.u r35 = r35, 3
;;
}{.mmi; add r21 = 500, r34
ld8 r24 = [r34], 8
mov ar.lc = r35
}{.mmi; ld8 r14 = [r33], 8
add r29 = r10, r11
nop 0
;;
}{.mmi; add r20 = 500, r33
ld8 r25 = [r34], 8
cmp.ltu p7, p0 = r29, r10
}{.mmi; ld8 r15 = [r33], 8
add r30 = r18, r19
add r3 = 8, r32
;;
}{.mmi; ld8 r26 = [r34], 8
cmp.ltu p8, p0 = r30, r18
(p13) cmp.eq.or p7, p0 = -1, r29
}{.mmi; ld8 r16 = [r33], 8
(p13) add r29 = 1, r29
add r31 = r17, r27
;;
}{.mmi; ld8 r27 = [r34], 8
cmp.ltu p9, p0 = r31, r17
(p7) cmp.eq.or p8, p0 = -1, r30
}{.mmb; ld8 r17 = [r33], 8
(p7) add r30 = 1, r30
br .Lm0
}
.Lc001:
{.mmi;
(p15) ld8 r25 = [r34], 8
(p15) ld8 r15 = [r33], 8
add r28 = r10, r11
}{.mmb; nop 0
nop 0
(p15) br 1f
;;
}{.mmi; cmp.ne p9, p0 = 0, r23
mov r8 = 0
cmp.ltu p6, p0 = r28, r10
;;
}{.mmb;
(p9) cmp.eq.or p6, p0 = -1, r28
(p9) add r28 = 1, r28
br .Lcj1
}
1:
{.mmi; ld8 r26 = [r34], 8
ld8 r16 = [r33], 8
shr.u r35 = r35, 3
;;
}{.mmi; ld8 r27 = [r34], 8
ld8 r17 = [r33], 8
mov ar.lc = r35
}{.mmi; nop 0
cmp.ne p9, p0 = 0, r23
nop 0
;;
}{.mmi; ld8 r24 = [r34], 8
cmp.ltu p6, p0 = r28, r10
add r3 = 16, r32
}{.mmb; ld8 r14 = [r33], 8
add r29 = r15, r25
br .Lc1
}
.Lc010:
{.mmi; ld8 r24 = [r34], 8
ld8 r14 = [r33], 8
mov r8 = 0
}{.mmb; add r31 = r10, r11
cmp.ne p8, p0 = 0, r23
(p15) br 1f
;;
}{.mmi; cmp.ltu p9, p0 = r31, r10
add r28 = r14, r24
(p8) add r31 = 1, r31
;;
}{.mmb; cmp.ltu p6, p0 = r28, r14
(p8) cmp.eq.or p9, p0 = 0, r31
br .Lcj2
}
1:
{.mmi; ld8 r25 = [r34], 8
ld8 r15 = [r33], 8
shr.u r35 = r35, 3
;;
}{.mmi; ld8 r26 = [r34], 8
ld8 r16 = [r33], 8
mov ar.lc = r35
;;
}{.mmi; ld8 r27 = [r34], 8
ld8 r17 = [r33], 8
cmp.ltu p9, p0 = r31, r10
;;
}{.mmi;
(p8) cmp.eq.or p9, p0 = -1, r31
(p8) add r31 = 1, r31
add r28 = r14, r24
}{.mmb; add r3 = 24, r32
nop 0
br .Lm23
}
.Lc011:
{.mmi; ld8 r27 = [r34], 8
ld8 r17 = [r33], 8
shr.u r35 = r35, 3
}{.mmi; add r30 = r10, r11
cmp.ne p7, p0 = 0, r23
nop 0
;;
}{.mmb; ld8 r24 = [r34], 8
ld8 r14 = [r33], 8
(p15) br 1f
}{.mmi; cmp.ltu p8, p0 = r30, r10
add r31 = r17, r27
nop 0
;;
}{.mmb;
(p7) cmp.eq.or p8, p0 = -1, r30
(p7) add r30 = 1, r30
br .Lcj3
}
1:
{.mmi; ld8 r25 = [r34], 8
ld8 r15 = [r33], 8
add r31 = r17, r27
;;
}{.mmi; ld8 r26 = [r34], 8
ld8 r16 = [r33], 8
cmp.ltu p8, p0 = r30, r10
;;
}{.mmi; ld8 r27 = [r34], 8
cmp.ltu p9, p0 = r31, r17
mov ar.lc = r35
}{.mmi; ld8 r17 = [r33], 8
(p7) cmp.eq.or p8, p0 = -1, r30
(p7) add r30 = 1, r30
;;
}{.mmi; add r3 = 32, r32
st8 [r32] = r30, 8
(p8) cmp.eq.or p9, p0 = -1, r31
}{.mmb;
(p8) add r31 = 1, r31
add r28 = r14, r24
br .Lm23
}
.Lc100:
{.mmi; ld8 r26 = [r34], 8
ld8 r16 = [r33], 8
shr.u r35 = r35, 3
}{.mmi; add r29 = r10, r11
nop 0
nop 0
;;
}{.mmi; ld8 r27 = [r34], 8
ld8 r17 = [r33], 8
add r3 = 8, r32
}{.mmi; cmp.ne p6, p0 = 0, r23
cmp.ltu p7, p0 = r29, r10
nop 0
;;
}{.mmi; ld8 r24 = [r34], 8
ld8 r14 = [r33], 8
add r30 = r16, r26
}{.mmb;
(p6) cmp.eq.or p7, p0 = -1, r29
(p6) add r29 = 1, r29
(p14) br .Lcj4
;;
}{.mmi; ld8 r25 = [r34], 8
ld8 r15 = [r33], 8
mov ar.lc = r35
;;
}{.mmi; ld8 r26 = [r34], 8
cmp.ltu p8, p0 = r30, r16
nop 0
}{.mmi; ld8 r16 = [r33], 8
nop 0
add r31 = r17, r27
;;
}{.mmi; ld8 r27 = [r34], 8
cmp.ltu p9, p0 = r31, r17
(p7) cmp.eq.or p8, p0 = -1, r30
}{.mmb; ld8 r17 = [r33], 8
(p7) add r30 = 1, r30
br .Lm4
}
.Lc101:
{.mmi; ld8 r25 = [r34], 8
ld8 r15 = [r33], 8
shr.u r35 = r35, 3
;;
}{.mmi; ld8 r26 = [r34], 8
ld8 r16 = [r33], 8
mov ar.lc = r35
;;
}{.mmi; ld8 r27 = [r34], 8
ld8 r17 = [r33], 8
add r28 = r10, r11
}{.mmi; cmp.ne p9, p0 = 0, r23
add r3 = 16, r32
nop 0
;;
}{.mmi; ld8 r24 = [r34], 8
cmp.ltu p6, p0 = r28, r10
ld8 r14 = [r33], 8
}{.mbb; add r29 = r15, r25
(p15) br .Lc5
br .Lend
}
.Lc110:
{.mmi; ld8 r24 = [r34], 8
ld8 r14 = [r33], 8
shr.u r35 = r35, 3
;;
}{.mmi; add r20 = 500, r33
add r21 = 500, r34
mov ar.lc = r35
}{.mmi; ld8 r25 = [r34], 8
ld8 r15 = [r33], 8
add r31 = r10, r11
;;
}{.mmi; ld8 r26 = [r34], 8
ld8 r16 = [r33], 8
add r28 = r14, r24
}{.mmi; cmp.ltu p9, p0 = r31, r10
cmp.ne p8, p0 = 0, r23
add r3 = 24, r32
;;
}{.mmi; ld8 r27 = [r34], 8
ld8 r17 = [r33], 8
nop 0
}{.mmb;
(p8) cmp.eq.or p9, p0 = -1, r31
(p8) add r31 = 1, r31
br .Lm67
}
.Lc111:
{.mmi; ld8 r24 = [r34], 8
ld8 r14 = [r33], 8
shr.u r35 = r35, 3
;;
}{.mmi; add r20 = 500, r33
ld8 r25 = [r34], 8
mov ar.lc = r35
}{.mmi; ld8 r15 = [r33], 8
add r30 = r10, r11
nop 0
;;
}{.mmi; add r21 = 500, r34
ld8 r26 = [r34], 8
cmp.ltu p8, p0 = r30, r10
}{.mmi; ld8 r16 = [r33], 8
add r31 = r18, r19
nop 0
;;
}{.mmi; ld8 r27 = [r34], 8
cmp.ltu p9, p0 = r31, r18
(p13) cmp.eq.or p8, p0 = -1, r30
}{.mmi; ld8 r17 = [r33], 8
(p13) add r30 = 1, r30
nop 0
;;
}{.mmi; add r3 = 32, r32
st8 [r32] = r30, 8
(p8) cmp.eq.or p9, p0 = -1, r31
}{.mmb;
(p8) add r31 = 1, r31
add r28 = r14, r24
br .Lm67
}
.endp __gmpn_add_nc#
.text
.align 32
.global __gmpn_add_n#
.proc __gmpn_add_n#
__gmpn_add_n:
.prologue
.save ar.lc, r2
.body
addp4 r32 = 0, r32
addp4 r33 = 0, r33
addp4 r34 = 0, r34
zxt4 r35 = r35
;;
{.mmi; ld8 r11 = [r34], 8
ld8 r10 = [r33], 8
mov r2 = ar.lc
}{.mmi; and r14 = 7, r35
cmp.lt p15, p14 = 8, r35
add r35 = -6, r35
;;
}{.mmi; cmp.eq p6, p0 = 1, r14
cmp.eq p7, p0 = 2, r14
cmp.eq p8, p0 = 3, r14
}{.bbb
(p6) br.dptk .Lb001
(p7) br.dptk .Lb010
(p8) br.dptk .Lb011
;;
}{.mmi; cmp.eq p9, p0 = 4, r14
cmp.eq p10, p0 = 5, r14
cmp.eq p11, p0 = 6, r14
}{.bbb
(p9) br.dptk .Lb100
(p10) br.dptk .Lb101
(p11) br.dptk .Lb110
;;
}{.mmi; ld8 r19 = [r34], 8
ld8 r18 = [r33], 8
cmp.ne p13, p0 = r0, r0
}{.mmb; cmp.eq p12, p0 = 7, r14
mov r23 = 0
(p12) br.dptk .Lb111
;;
}
.Lb000:
{.mmi; ld8 r27 = [r34], 8
ld8 r17 = [r33], 8
shr.u r35 = r35, 3
;;
}{.mmi; ld8 r24 = [r34], 8
ld8 r14 = [r33], 8
add r29 = r10, r11
;;
}{.mmi; ld8 r25 = [r34], 8
cmp.ltu p7, p0 = r29, r10
mov ar.lc = r35
}{.mmi; ld8 r15 = [r33], 8
add r30 = r18, r19
add r3 = 8, r32
;;
}{.mmi; add r20 = 500, r33
add r21 = 500, r34
cmp.ltu p8, p0 = r30, r18
}{.mmi; ld8 r26 = [r34], 8
ld8 r16 = [r33], 8
add r31 = r17, r27
;;
}{.mmi; ld8 r27 = [r34], 8
cmp.ltu p9, p0 = r31, r17
(p7) cmp.eq.or p8, p0 = -1, r30
}{.mmb; ld8 r17 = [r33], 8
(p7) add r30 = 1, r30
br .Lm0
}
.align 32
.Lb001:
{.mmi; add r28 = r10, r11
(p15) ld8 r25 = [r34], 8
mov r8 = 0
;;
}{.mmb; cmp.ltu p6, p0 = r28, r10
(p15) ld8 r15 = [r33], 8
(p14) br .Lcj1
;;
}{.mmi; add r20 = 500, r33
add r21 = 500, r34
shr.u r35 = r35, 3
}{.mmi; ld8 r26 = [r34], 8
ld8 r16 = [r33], 8
cmp.ltu p6, p0 = r28, r10
;;
}{.mmi; ld8 r27 = [r34], 8
ld8 r17 = [r33], 8
mov ar.lc = r35
;;
}{.mmi; ld8 r24 = [r34], 8
ld8 r14 = [r33], 8
add r29 = r15, r25
;;
}{.mmi; ld8 r25 = [r34], 8
cmp.ltu p7, p0 = r29, r15
add r30 = r16, r26
}{.mmb; ld8 r15 = [r33], 8
add r3 = 16, r32
br .Lm1
}
.align 32
.Lb010:
{.mmi; ld8 r24 = [r34], 8
ld8 r14 = [r33], 8
shr.u r35 = r35, 3
}{.mmb; add r31 = r10, r11
nop 0
(p15) br .Lgt2
;;
}{.mmi; cmp.ltu p9, p0 = r31, r10
add r28 = r14, r24
mov r8 = 0
;;
}{.mmb; nop 0
cmp.ltu p6, p0 = r28, r14
br .Lcj2
}
.Lgt2:
{.mmi; ld8 r25 = [r34], 8
ld8 r15 = [r33], 8
nop 0
;;
}{.mmi; add r20 = 500, r33
add r21 = 500, r34
mov ar.lc = r35
}{.mmi; ld8 r26 = [r34], 8
ld8 r16 = [r33], 8
nop 0
;;
}{.mmi; ld8 r27 = [r34], 8
cmp.ltu p9, p0 = r31, r10
add r28 = r14, r24
}{.mmb; ld8 r17 = [r33], 8
add r3 = 24, r32
br .Lm23
}
.align 32
.Lb011:
{.mmi; ld8 r27 = [r34], 8
ld8 r17 = [r33], 8
add r30 = r10, r11
;;
}{.mmb; ld8 r24 = [r34], 8
ld8 r14 = [r33], 8
(p15) br 1f
}{.mmb; cmp.ltu p8, p0 = r30, r10
add r31 = r17, r27
br .Lcj3
}
1:
{.mmi; ld8 r25 = [r34], 8
ld8 r15 = [r33], 8
shr.u r35 = r35, 3
;;
}{.mmi; add r20 = 500, r33
add r21 = 500, r34
add r31 = r17, r27
}{.mmi; ld8 r26 = [r34], 8
ld8 r16 = [r33], 8
cmp.ltu p8, p0 = r30, r10
;;
}{.mmi; ld8 r27 = [r34], 8
cmp.ltu p9, p0 = r31, r17
mov ar.lc = r35
}{.mmi; ld8 r17 = [r33], 8
nop 0
nop 0
;;
}{.mmi; add r3 = 32, r32
st8 [r32] = r30, 8
(p8) cmp.eq.or p9, p0 = -1, r31
}{.mmb;
(p8) add r31 = 1, r31
add r28 = r14, r24
br .Lm23
}
.align 32
.Lb100:
{.mmi; ld8 r26 = [r34], 8
ld8 r16 = [r33], 8
shr.u r35 = r35, 3
;;
}{.mmi; ld8 r27 = [r34], 8
ld8 r17 = [r33], 8
add r29 = r10, r11
;;
}{.mmi; ld8 r24 = [r34], 8
ld8 r14 = [r33], 8
cmp.ltu p7, p0 = r29, r10
}{.mmb; nop 0
add r30 = r16, r26
(p14) br .Lcj4
;;
}
.Lgt4:
{.mmi; add r20 = 500, r33
add r21 = 500, r34
mov ar.lc = r35
ld8 r25 = [r34], 8
ld8 r15 = [r33], 8
nop 0
;;
}{.mmi; ld8 r26 = [r34], 8
cmp.ltu p8, p0 = r30, r16
nop 0
}{.mmi; ld8 r16 = [r33], 8
add r31 = r17, r27
add r3 = 8, r32
;;
}{.mmi; ld8 r27 = [r34], 8
cmp.ltu p9, p0 = r31, r17
(p7) cmp.eq.or p8, p0 = -1, r30
}{.mmb; ld8 r17 = [r33], 8
(p7) add r30 = 1, r30
br .Lm4
}
.align 32
.Lb101:
{.mmi; ld8 r25 = [r34], 8
ld8 r15 = [r33], 8
shr.u r35 = r35, 3
;;
}{.mmi; ld8 r26 = [r34], 8
ld8 r16 = [r33], 8
add r28 = r10, r11
;;
}{.mmi; add r20 = 500, r33
add r21 = 500, r34
add r3 = 16, r32
ld8 r27 = [r34], 8
ld8 r17 = [r33], 8
nop 0
;;
}{.mmi; ld8 r24 = [r34], 8
cmp.ltu p6, p0 = r28, r10
nop 0
}{.mmb; ld8 r14 = [r33], 8
add r29 = r15, r25
(p14) br .Lcj5
;;
}
.Lgt5:
{.mmi; ld8 r25 = [r34], 8
cmp.ltu p7, p0 = r29, r15
mov ar.lc = r35
}{.mmb; ld8 r15 = [r33], 8
add r30 = r16, r26
br .Lm5
}
.align 32
.Lb110:
{.mmi; ld8 r24 = [r34], 8
ld8 r14 = [r33], 8
shr.u r35 = r35, 3
;;
}{.mmi; ld8 r25 = [r34], 8
ld8 r15 = [r33], 8
add r31 = r10, r11
;;
}{.mmi; add r20 = 500, r33
add r21 = 500, r34
mov ar.lc = r35
}{.mmi; ld8 r26 = [r34], 8
ld8 r16 = [r33], 8
nop 0
;;
}{.mmi; ld8 r27 = [r34], 8
cmp.ltu p9, p0 = r31, r10
add r28 = r14, r24
}{.mmb; ld8 r17 = [r33], 8
add r3 = 24, r32
br .Lm67
}
.align 32
.Lb111:
{.mmi; ld8 r24 = [r34], 8
ld8 r14 = [r33], 8
shr.u r35 = r35, 3
;;
}{.mmi; ld8 r25 = [r34], 8
ld8 r15 = [r33], 8
add r30 = r10, r11
;;
}{.mmi; ld8 r26 = [r34], 8
cmp.ltu p8, p0 = r30, r10
mov ar.lc = r35
}{.mmi; ld8 r16 = [r33], 8
add r31 = r18, r19
nop 0
;;
}{.mmi; add r20 = 500, r33
add r21 = 500, r34
nop 0
}{.mmi; ld8 r27 = [r34], 8
ld8 r17 = [r33], 8
cmp.ltu p9, p0 = r31, r18
;;
}{.mmi; add r3 = 32, r32
st8 [r32] = r30, 8
(p8) cmp.eq.or p9, p0 = -1, r31
}{.mmb;
(p8) add r31 = 1, r31
add r28 = r14, r24
br .Lm67
}
.align 32
.Ltop:
.Lc5: ld8 r25 = [r34], 8
cmp.ltu p7, p0 = r29, r15
(p9) cmp.eq.or p6, p0 = -1, r28
ld8 r15 = [r33], 8
(p9) add r28 = 1, r28
add r30 = r16, r26
;;
.Lm5: ld8 r26 = [r34], 8
cmp.ltu p8, p0 = r30, r16
(p6) cmp.eq.or p7, p0 = -1, r29
ld8 r16 = [r33], 8
(p6) add r29 = 1, r29
add r31 = r17, r27
;;
st8 [r32] = r28, 8
ld8 r27 = [r34], 8
cmp.ltu p9, p0 = r31, r17
(p7) cmp.eq.or p8, p0 = -1, r30
ld8 r17 = [r33], 8
(p7) add r30 = 1, r30
;;
.Lm4: st8 [r32] = r29, 16
st8 [r3] = r30, 32
(p8) cmp.eq.or p9, p0 = -1, r31
lfetch [r20], 64
(p8) add r31 = 1, r31
add r28 = r14, r24
;;
.Lm23: st8 [r32] = r31, 8
ld8 r24 = [r34], 8
cmp.ltu p6, p0 = r28, r14
ld8 r14 = [r33], 8
add r29 = r15, r25
nop.b 0
;;
.Lc1: ld8 r25 = [r34], 8
cmp.ltu p7, p0 = r29, r15
(p9) cmp.eq.or p6, p0 = -1, r28
ld8 r15 = [r33], 8
(p9) add r28 = 1, r28
add r30 = r16, r26
;;
.Lm1: ld8 r26 = [r34], 8
cmp.ltu p8, p0 = r30, r16
(p6) cmp.eq.or p7, p0 = -1, r29
ld8 r16 = [r33], 8
(p6) add r29 = 1, r29
add r31 = r17, r27
;;
st8 [r32] = r28, 8
ld8 r27 = [r34], 8
cmp.ltu p9, p0 = r31, r17
(p7) cmp.eq.or p8, p0 = -1, r30
ld8 r17 = [r33], 8
(p7) add r30 = 1, r30
;;
.Lm0: st8 [r32] = r29, 16
st8 [r3] = r30, 32
(p8) cmp.eq.or p9, p0 = -1, r31
lfetch [r21], 64
(p8) add r31 = 1, r31
add r28 = r14, r24
;;
.Lm67: st8 [r32] = r31, 8
ld8 r24 = [r34], 8
cmp.ltu p6, p0 = r28, r14
ld8 r14 = [r33], 8
add r29 = r15, r25
br.cloop.dptk .Ltop
;;
.Lend:
{.mmi;
(p9) cmp.eq.or p6, p0 = -1, r28
(p9) add r28 = 1, r28
mov ar.lc = r2
}
.Lcj5:
{.mmi; cmp.ltu p7, p0 = r29, r15
add r30 = r16, r26
nop 0
;;
}{.mmi; st8 [r32] = r28, 8
(p6) cmp.eq.or p7, p0 = -1, r29
(p6) add r29 = 1, r29
}
.Lcj4:
{.mmi; cmp.ltu p8, p0 = r30, r16
add r31 = r17, r27
nop 0
;;
}{.mmi; st8 [r32] = r29, 8
(p7) cmp.eq.or p8, p0 = -1, r30
(p7) add r30 = 1, r30
}
.Lcj3:
{.mmi; cmp.ltu p9, p0 = r31, r17
add r28 = r14, r24
nop 0
;;
}{.mmi; st8 [r32] = r30, 8
(p8) cmp.eq.or p9, p0 = -1, r31
(p8) add r31 = 1, r31
}{.mmi; cmp.ltu p6, p0 = r28, r14
nop 0
mov r8 = 0
;;
}
.Lcj2:
{.mmi; st8 [r32] = r31, 8
(p9) cmp.eq.or p6, p0 = -1, r28
(p9) add r28 = 1, r28
;;
}
.Lcj1:
{.mmb; st8 [r32] = r28, 8
(p6) mov r8 = 1
br.ret.sptk.many b0
}
.endp __gmpn_add_n#
More information about the gmp-bugs
mailing list