Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Product: Red Hat Raw Hide
Classification: Retired
Component: gcc (Show other bugs)
ia64 Linux
low Severity low
: ---
: ---
Assigned To: Vladimir Makarov
Depends On:
  Show dependency treegraph
Reported: 2003-07-19 19:46 EDT by hjl
Modified: 2006-03-10 22:37 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2003-07-23 13:15:16 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description hjl 2003-07-19 19:46:15 EDT
[hjl@gnu-3 predicate]$ cat bar.i
prefetch (void *p, int s)
  if (s)
    __builtin_prefetch (p, 1, 1);
[hjl@gnu-3 predicate]$ gcc -Wall -O bar.i -S
[hjl@gnu-3 predicate]$ cat bar.s
        .pred.safe_across_calls p1-p5,p16-p63
        .align 16
        .global prefetch#
        .proc prefetch#
        cmp4.eq p6, p7 = 0, r33
        lfetch.excl.nt1 [r32]
        br.ret.sptk.many rp
        .endp prefetch#

The problem is there is no (p7) before "lfetch.excl.nt1 [r32]". That means

__builtin_prefetch (p, 1, 1);

is always executed even if 's' is 0.
Comment 1 Larry Troan 2003-07-21 08:45:47 EDT
ISSUE TRACKER 26067 opened as sev 3
Comment 2 Vladimir Makarov 2003-07-23 13:15:16 EDT
It is not a bug (at least with user's point of view).  The code generated for
is the same as for -02 (lprefetch is not predicated).

HJ found that prefetch is predicated in RTL (when -O1) but the corresponding
lprefetch insn
is not predicated in assembler code therefore he reported about this.

I think we should not make a patch (or use already created patch) for gcc
especially on this stage.  

More information could be found in


Note You need to log in before you can comment on or make changes to this bug.