comparison ppc/intreadwrite.h @ 759:fd032514a113 libavutil

PPC: fix asm operand constraints in AV_RL64 The target register of first word loaded must be marked early-clobber.
author mru
date Wed, 29 Jul 2009 19:06:55 +0000
parents eff5131d6a33
children f849545df4e5
comparison
equal deleted inserted replaced
758:22a58fc2125d 759:fd032514a113
76 static inline uint64_t AV_RL64(const void *p) 76 static inline uint64_t AV_RL64(const void *p)
77 { 77 {
78 union { uint64_t v; uint32_t hl[2]; } v; 78 union { uint64_t v; uint32_t hl[2]; } v;
79 __asm__ ("lwbrx %0, %y2 \n\t" 79 __asm__ ("lwbrx %0, %y2 \n\t"
80 "lwbrx %1, %y3 \n\t" 80 "lwbrx %1, %y3 \n\t"
81 : "=r"(v.hl[1]), "=r"(v.hl[0]) 81 : "=&r"(v.hl[1]), "=r"(v.hl[0])
82 : "Z"(*(const uint32_t*)p), "Z"(*((const uint32_t*)p+1))); 82 : "Z"(*(const uint32_t*)p), "Z"(*((const uint32_t*)p+1)));
83 return v.v; 83 return v.v;
84 } 84 }
85 85
86 #define AV_WL64 AV_WL64 86 #define AV_WL64 AV_WL64