.file "foo.c" .section .text.unlikely,"ax",@progbits .LCOLDB0: .text .LHOTB0: .p2align 4,,15 .globl signed1_overflow .type signed1_overflow, @function signed1_overflow: .LFB0: .cfi_startproc testb %sil, %sil js .L5 movsbl %sil, %esi movl $127, %eax movsbl %dil, %edi subl %esi, %eax cmpl %edi, %eax setl %al movzbl %al, %eax ret .p2align 4,,10 .p2align 3 .L5: movsbl %sil, %esi movl $-128, %eax movsbl %dil, %edi subl %esi, %eax cmpl %eax, %edi setl %al movzbl %al, %eax ret .cfi_endproc .LFE0: .size signed1_overflow, .-signed1_overflow .section .text.unlikely .LCOLDE0: .text .LHOTE0: .section .text.unlikely .LCOLDB1: .text .LHOTB1: .p2align 4,,15 .globl my_signed1_overflow .type my_signed1_overflow, @function my_signed1_overflow: .LFB1: .cfi_startproc leal (%rsi,%rdi), %eax movsbl %dil, %edi movsbl %sil, %esi movsbl %al, %eax subl %edi, %eax xorl %esi, %eax shrl $31, %eax ret .cfi_endproc .LFE1: .size my_signed1_overflow, .-my_signed1_overflow .section .text.unlikely .LCOLDE1: .text .LHOTE1: .section .text.unlikely .LCOLDB2: .text .LHOTB2: .p2align 4,,15 .globl signed2_overflow .type signed2_overflow, @function signed2_overflow: .LFB2: .cfi_startproc testw %si, %si js .L10 movswl %si, %esi movl $32767, %eax movswl %di, %edi subl %esi, %eax cmpl %edi, %eax setl %al movzbl %al, %eax ret .p2align 4,,10 .p2align 3 .L10: movswl %si, %esi movl $-32768, %eax movswl %di, %edi subl %esi, %eax cmpl %eax, %edi setl %al movzbl %al, %eax ret .cfi_endproc .LFE2: .size signed2_overflow, .-signed2_overflow .section .text.unlikely .LCOLDE2: .text .LHOTE2: .section .text.unlikely .LCOLDB3: .text .LHOTB3: .p2align 4,,15 .globl my_signed2_overflow .type my_signed2_overflow, @function my_signed2_overflow: .LFB3: .cfi_startproc leal (%rsi,%rdi), %eax movswl %di, %edi movswl %si, %esi cwtl subl %edi, %eax xorl %esi, %eax shrl $31, %eax ret .cfi_endproc .LFE3: .size my_signed2_overflow, .-my_signed2_overflow .section .text.unlikely .LCOLDE3: .text .LHOTE3: .section .text.unlikely .LCOLDB4: .text .LHOTB4: .p2align 4,,15 .globl signed4_overflow .type signed4_overflow, @function signed4_overflow: .LFB4: .cfi_startproc testl %esi, %esi js .L15 movl $2147483647, %eax subl %esi, %eax cmpl %eax, %edi setg %al movzbl %al, %eax ret .p2align 4,,10 .p2align 3 .L15: movl $-2147483648, %eax subl %esi, %eax cmpl %edi, %eax setg %al movzbl %al, %eax ret .cfi_endproc .LFE4: .size signed4_overflow, .-signed4_overflow .section .text.unlikely .LCOLDE4: .text .LHOTE4: .section .text.unlikely .LCOLDB5: .text .LHOTB5: .p2align 4,,15 .globl my_signed4_overflow .type my_signed4_overflow, @function my_signed4_overflow: .LFB5: .cfi_startproc leal (%rdi,%rsi), %eax movslq %edi, %rdi movslq %esi, %rsi cltq subq %rdi, %rax xorq %rsi, %rax shrq $63, %rax ret .cfi_endproc .LFE5: .size my_signed4_overflow, .-my_signed4_overflow .section .text.unlikely .LCOLDE5: .text .LHOTE5: .ident "GCC: (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609" .section .note.GNU-stack,"",@progbits