Hello Jiri, W dniu 28.08.2024 o 06:35, Jiri Slaby pisze: > On 27. 08. 24, 17:38, Lech Perczak wrote: >> Only the single expansion of GENMASK proves very hard to analyze in the >> diff - so I double-checked with a calculator, >> though all BIT() expansions do match, as does the updated definition. >> of SC16IS7XX_LSR_BRK_ERROR_MASK. > > You can diff also the generated .o fed through objdump -d (generated .s > usually contains line numbers). I see that Greg already got the series into tty-next, but for the sake of completeness, I did the check anyway. This also came to my mind after I posted diff of preprocessed source ;-) The diff is way, way smaller, but functionality is the same. On amd64, the sign extension used in BIT() is visible: --- sc16is7xx.c.asm.1 2024-09-04 16:06:02.523038659 +0200 +++ sc16is7xx.c.asm.2 2024-09-04 16:05:42.103938886 +0200 @@ -289,17 +289,16 @@ 1f9: c7 44 24 04 00 00 00 movl $0x0,0x4(%rsp) 200: 00 201: e8 00 00 00 00 call 206 <sc16is7xx_tx_empty+0x36> - 206: 8b 44 24 04 mov 0x4(%rsp),%eax - 20a: c1 e8 06 shr $0x6,%eax - 20d: 83 e0 01 and $0x1,%eax - 210: 48 8b 54 24 08 mov 0x8(%rsp),%rdx - 215: 65 48 2b 14 25 28 00 sub %gs:0x28,%rdx - 21c: 00 00 - 21e: 75 09 jne 229 <sc16is7xx_tx_empty+0x59> - 220: 48 83 c4 10 add $0x10,%rsp - 224: e9 00 00 00 00 jmp 229 <sc16is7xx_tx_empty+0x59> - 229: e8 00 00 00 00 call 22e <sc16is7xx_tx_empty+0x5e> - 22e: 66 90 xchg %ax,%ax + 206: 0f b6 44 24 04 movzbl 0x4(%rsp),%eax + 20b: 48 c1 e8 06 shr $0x6,%rax + 20f: 83 e0 01 and $0x1,%eax + 212: 48 8b 54 24 08 mov 0x8(%rsp),%rdx + 217: 65 48 2b 14 25 28 00 sub %gs:0x28,%rdx + 21e: 00 00 + 220: 75 09 jne 22b <sc16is7xx_tx_empty+0x5b> + 222: 48 83 c4 10 add $0x10,%rsp + 226: e9 00 00 00 00 jmp 22b <sc16is7xx_tx_empty+0x5b> + 22b: e8 00 00 00 00 call 230 <sc16is7xx_tx_empty+0x60> 230: 90 nop 231: 90 nop 232: 90 nop > > regards, -- Pozdrawiam/With kind regards, Lech Perczak Sr. Software Engineer Camlin Technologies Poland Limited Sp. z o.o.