21 lines · c
1// REQUIRES: x86-registered-target2// RUN: %clang_cc1 -triple x86_64-unknown-unknown -S -O2 -o - %s | FileCheck %s3 4// CHECK-LABEL: f:5// CHECK: movl $1, %eax6// CHECK-NEXT: #APP7// CHECK-NEXT: outl %eax, $18// CHECK-NEXT: #NO_APP9 10static inline void pr41027(unsigned a, unsigned b) {11 if (__builtin_constant_p(a)) {12 __asm__ volatile("outl %0,%w1" : : "a"(b), "n"(a));13 } else {14 __asm__ volatile("outl %0,%w1" : : "a"(b), "d"(a));15 }16}17 18void f(unsigned port) {19 pr41027(1, 1);20}21