From 2772b8bd98d28cecbe7ea8dfca69b6ffd02a1cc3 Mon Sep 17 00:00:00 2001 From: Djordje Pesut Date: Fri, 18 Apr 2014 17:53:37 +0200 Subject: [PATCH] MIPS: fix assembler error revealed by clang's debug build .set at - Indicates that macro expansions may clobber the assembler temporary ($at or $28) register. Some macros may not be expanded without this and will generate an error message if noat is in effect. "at" also added to the clobber list. Change-Id: I67feebbd9f2944fc7f26c28496e49e1e2348529d --- src/utils/bit_reader.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/utils/bit_reader.h b/src/utils/bit_reader.h index 55965d74..02296796 100644 --- a/src/utils/bit_reader.h +++ b/src/utils/bit_reader.h @@ -168,12 +168,13 @@ static WEBP_INLINE void VP8LoadNewBytes(VP8BitReader* const br) { lbit_t* p_buf_ = (lbit_t*)br->buf_; __asm__ volatile( ".set push \n\t" + ".set at \n\t" ".set macro \n\t" "ulw %[in_bits], 0(%[p_buf_]) \n\t" ".set pop \n\t" : [in_bits]"=r"(in_bits) : [p_buf_]"r"(p_buf_) - : "memory" + : "memory", "at" ); #else const lbit_t in_bits = *(const lbit_t*)br->buf_;