diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-10-07 16:40:08 +0400 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2015-06-22 11:36:56 +0300 |
commit | 8922bc3058abbe5deaf887147e26531750ce7513 (patch) | |
tree | 647f15f01077a23afd047e3d01b125a93e2ac9b1 /arch/arc/include/asm/delay.h | |
parent | 1f7e3dc0baaa41217dc06d3370e1efd1aecbc1f0 (diff) | |
download | linux-8922bc3058abbe5deaf887147e26531750ce7513.tar.xz |
ARCv2: Adhere to Zero Delay loop restriction
Branch insn can't be scheduled as last insn of Zero Overhead loop
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/include/asm/delay.h')
-rw-r--r-- | arch/arc/include/asm/delay.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/arc/include/asm/delay.h b/arch/arc/include/asm/delay.h index 43de30256981..08e7e2a16ac1 100644 --- a/arch/arc/include/asm/delay.h +++ b/arch/arc/include/asm/delay.h @@ -22,11 +22,10 @@ static inline void __delay(unsigned long loops) { __asm__ __volatile__( - "1: sub.f %0, %0, 1 \n" - " jpnz 1b \n" - : "+r"(loops) - : - : "cc"); + " lp 1f \n" + " nop \n" + "1: \n" + : "+l"(loops)); } extern void __bad_udelay(void); |