| # REQUIRES: x86 | 
 |  | 
 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t | 
 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/print-icf.s -o %t1 | 
 | # RUN: ld.lld %t %t1 -o %t2 --icf=all --print-icf-sections | FileCheck %s | 
 | # RUN: ld.lld %t %t1 -o %t2 --icf=all --no-print-icf-sections --print-icf-sections | FileCheck %s | 
 | # RUN: ld.lld %t %t1 -o %t2 --icf=all --print-icf-sections --no-print-icf-sections | FileCheck -allow-empty -check-prefix=PRINT %s | 
 |  | 
 | # CHECK: selected section {{.*}}:(.text.f2) | 
 | # CHECK:   removing identical section {{.*}}:(.text.f4) | 
 | # CHECK:   removing identical section {{.*}}:(.text.f7) | 
 | # CHECK: selected section {{.*}}:(.text.f1) | 
 | # CHECK:   removing identical section {{.*}}:(.text.f3) | 
 | # CHECK:   removing identical section {{.*}}:(.text.f5) | 
 | # CHECK:   removing identical section {{.*}}:(.text.f6) | 
 |  | 
 | # PRINT-NOT: selected | 
 | # PRINT-NOT: removing | 
 |  | 
 | .globl _start, f1, f2 | 
 | _start: | 
 |   ret | 
 |  | 
 | .section .text.f1, "ax" | 
 | f1: | 
 |   mov $60, %rax | 
 |   mov $42, %rdi | 
 |   syscall | 
 |  | 
 |   .section .text.f2, "ax" | 
 | f2: | 
 |   mov $0, %rax | 
 |  | 
 | .section .text.f3, "ax" | 
 | f3: | 
 |   mov $60, %rax | 
 |   mov $42, %rdi | 
 |   syscall | 
 |  | 
 | .section .text.f4, "ax" | 
 | f4: | 
 |   mov $0, %rax | 
 |  | 
 | .section .text.f5, "ax" | 
 | f5: | 
 |   mov $60, %rax | 
 |   mov $42, %rdi | 
 |   syscall |