brintos

brintos / llvm-project-archived public Read only

0
0
Text · 508 B · c16e232 Raw
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