Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 318975 | Differences between
and this patch

Collapse All | Expand All

(-)qt-everywhere-opensource-src-4.6.2.orig/src/corelib/arch/qatomic_alpha.h (-6 / +6 lines)
Lines 367-373 Link Here
367
template <typename T>
367
template <typename T>
368
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelaxed(T *newValue)
368
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelaxed(T *newValue)
369
{
369
{
370
    register void *old, *tmp;
370
    register T *old, *tmp;
371
    asm volatile("1:\n"
371
    asm volatile("1:\n"
372
                 "ldq_l %0,%2\n"   /* old=*ptr;                               */
372
                 "ldq_l %0,%2\n"   /* old=*ptr;                               */
373
                 "mov   %3,%1\n"   /* tmp=newval;                             */
373
                 "mov   %3,%1\n"   /* tmp=newval;                             */
Lines 385-391 Link Here
385
template <typename T>
385
template <typename T>
386
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *newValue)
386
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *newValue)
387
{
387
{
388
    register void *old, *tmp;
388
    register T *old, *tmp;
389
    asm volatile("1:\n"
389
    asm volatile("1:\n"
390
                 "ldq_l %0,%2\n"   /* old=*ptr;                               */
390
                 "ldq_l %0,%2\n"   /* old=*ptr;                               */
391
                 "mov   %3,%1\n"   /* tmp=newval;                             */
391
                 "mov   %3,%1\n"   /* tmp=newval;                             */
Lines 404-410 Link Here
404
template <typename T>
404
template <typename T>
405
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelease(T *newValue)
405
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelease(T *newValue)
406
{
406
{
407
    register void *old, *tmp;
407
    register T *old, *tmp;
408
    asm volatile("mb\n"
408
    asm volatile("mb\n"
409
                 "1:\n"
409
                 "1:\n"
410
                 "ldq_l %0,%2\n"   /* old=*ptr;                               */
410
                 "ldq_l %0,%2\n"   /* old=*ptr;                               */
Lines 423-429 Link Here
423
template <typename T>
423
template <typename T>
424
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd)
424
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd)
425
{
425
{
426
    register void *old, *tmp;
426
    register T *old, *tmp;
427
    asm volatile("1:\n"
427
    asm volatile("1:\n"
428
                 "ldq_l %0,%2\n"   /* old=*ptr;                               */
428
                 "ldq_l %0,%2\n"   /* old=*ptr;                               */
429
                 "addq  %0,%3,%1\n"/* tmp=old+value;                          */
429
                 "addq  %0,%3,%1\n"/* tmp=old+value;                          */
Lines 441-447 Link Here
441
template <typename T>
441
template <typename T>
442
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddAcquire(qptrdiff valueToAdd)
442
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddAcquire(qptrdiff valueToAdd)
443
{
443
{
444
    register void *old, *tmp;
444
    register T *old, *tmp;
445
    asm volatile("1:\n"
445
    asm volatile("1:\n"
446
                 "ldq_l %0,%2\n"   /* old=*ptr;                               */
446
                 "ldq_l %0,%2\n"   /* old=*ptr;                               */
447
                 "addq  %0,%3,%1\n"/* tmp=old+value;                          */
447
                 "addq  %0,%3,%1\n"/* tmp=old+value;                          */
Lines 460-466 Link Here
460
template <typename T>
460
template <typename T>
461
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelease(qptrdiff valueToAdd)
461
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelease(qptrdiff valueToAdd)
462
{
462
{
463
    register void *old, *tmp;
463
    register T *old, *tmp;
464
    asm volatile("mb\n"
464
    asm volatile("mb\n"
465
                 "1:\n"
465
                 "1:\n"
466
                 "ldq_l %0,%2\n"   /* old=*ptr;                               */
466
                 "ldq_l %0,%2\n"   /* old=*ptr;                               */

Return to bug 318975