arch/ia64/kernel/ivt.S:759: Error: Operand 3 of `add' should be a general register r0-r3

From: kbuild test robot
Date: Sun Jul 31 2016 - 14:45:35 EST


Hi Will,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: c9b95e5961c0294e0efffeaa847c1a1e6369204c
commit: da48d094ce5d7c7dcdad9011648a81c42fd1c2ef Kconfig: remove HAVE_LATENCYTOP_SUPPORT
date: 7 months ago
config: ia64-allyesconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 4.9.0
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout da48d094ce5d7c7dcdad9011648a81c42fd1c2ef
# save the attached .config to linux build tree
make.cross ARCH=ia64

All errors (new ones prefixed by >>):

arch/ia64/kernel/ivt.S: Assembler messages:
>> arch/ia64/kernel/ivt.S:759: Error: Operand 3 of `add' should be a general register r0-r3
--
arch/ia64/kernel/entry.S: Assembler messages:
>> arch/ia64/kernel/entry.S:621: Error: Operand 2 of `adds' should be a 14-bit integer (-8192-8191)
arch/ia64/kernel/entry.S:728: Error: Operand 2 of `adds' should be a 14-bit integer (-8192-8191)
arch/ia64/kernel/entry.S:859: Error: Operand 2 of `adds' should be a 14-bit integer (-8192-8191)
--
arch/ia64/kernel/fsys.S: Assembler messages:
>> arch/ia64/kernel/fsys.S:67: Error: Operand 3 of `add' should be a general register r0-r3
arch/ia64/kernel/fsys.S:97: Error: Operand 3 of `add' should be a general register r0-r3
arch/ia64/kernel/fsys.S:193: Error: Operand 3 of `add' should be a general register r0-r3
arch/ia64/kernel/fsys.S:336: Error: Operand 3 of `add' should be a general register r0-r3
arch/ia64/kernel/fsys.S:338: Error: Operand 3 of `add' should be a general register r0-r3

vim +759 arch/ia64/kernel/ivt.S

f8fa5448 David Mosberger-Tang 2005-04-27 743 nop.m 0 // M
f8fa5448 David Mosberger-Tang 2005-04-27 744 mov r20=r1 // A save r1
f8fa5448 David Mosberger-Tang 2005-04-27 745
f8fa5448 David Mosberger-Tang 2005-04-27 746 nop.m 0
f8fa5448 David Mosberger-Tang 2005-04-27 747 movl r30=sys_call_table // X
f8fa5448 David Mosberger-Tang 2005-04-27 748
498c5170 Isaku Yamahata 2008-05-19 749 MOV_FROM_IIP(r28) // M2 (2 cyc)
f8fa5448 David Mosberger-Tang 2005-04-27 750 cmp.eq p0,p7=r18,r17 // I0 is this a system call?
f8fa5448 David Mosberger-Tang 2005-04-27 751 (p7) br.cond.spnt non_syscall // B no ->
f8fa5448 David Mosberger-Tang 2005-04-27 752 //
f8fa5448 David Mosberger-Tang 2005-04-27 753 // From this point on, we are definitely on the syscall-path
f8fa5448 David Mosberger-Tang 2005-04-27 754 // and we can use (non-banked) scratch registers.
f8fa5448 David Mosberger-Tang 2005-04-27 755 //
f8fa5448 David Mosberger-Tang 2005-04-27 756 ///////////////////////////////////////////////////////////////////////
f8fa5448 David Mosberger-Tang 2005-04-27 757 mov r1=r16 // A move task-pointer to "addl"-addressable reg
f8fa5448 David Mosberger-Tang 2005-04-27 758 mov r2=r16 // A setup r2 for ia64_syscall_setup
f8fa5448 David Mosberger-Tang 2005-04-27 @759 add r9=TI_FLAGS+IA64_TASK_SIZE,r16 // A r9 = &current_thread_info()->flags
f8fa5448 David Mosberger-Tang 2005-04-27 760
f8fa5448 David Mosberger-Tang 2005-04-27 761 adds r16=IA64_TASK_THREAD_ON_USTACK_OFFSET,r16
f8fa5448 David Mosberger-Tang 2005-04-27 762 adds r15=-1024,r15 // A subtract 1024 from syscall number
^1da177e Linus Torvalds 2005-04-16 763 mov r3=NR_syscalls - 1
^1da177e Linus Torvalds 2005-04-16 764 ;;
f8fa5448 David Mosberger-Tang 2005-04-27 765 ld1.bias r17=[r16] // M0|1 r17 = current->thread.on_ustack flag
f8fa5448 David Mosberger-Tang 2005-04-27 766 ld4 r9=[r9] // M0|1 r9 = current_thread_info()->flags
f8fa5448 David Mosberger-Tang 2005-04-27 767 extr.u r8=r29,41,2 // I0 extract ei field from cr.ipsr

:::::: The code at line 759 was first introduced by commit
:::::: f8fa5448fc9b4a7806b1297a0b57808f12fe4d43 [IA64] Reschedule break_fault() for better performance.

:::::: TO: David Mosberger-Tang <davidm@xxxxxxxxxx>
:::::: CC: Tony Luck <tony.luck@xxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: Binary data