1*67e74705SXin Li // RUN: %clang_cc1 -triple mipsel-unknown-linux -emit-llvm -o - %s | FileCheck %s 2*67e74705SXin Li 3*67e74705SXin Li void __attribute__ ((interrupt("vector=sw0"))) isr_sw0(void)4*67e74705SXin Liisr_sw0 (void) 5*67e74705SXin Li { 6*67e74705SXin Li // CHECK: define void @isr_sw0() [[SW0:#[0-9]+]] 7*67e74705SXin Li } 8*67e74705SXin Li 9*67e74705SXin Li void __attribute__ ((interrupt("vector=sw1"))) isr_sw1(void)10*67e74705SXin Liisr_sw1 (void) 11*67e74705SXin Li { 12*67e74705SXin Li // CHECK: define void @isr_sw1() [[SW1:#[0-9]+]] 13*67e74705SXin Li } 14*67e74705SXin Li 15*67e74705SXin Li void __attribute__ ((interrupt("vector=hw0"))) isr_hw0(void)16*67e74705SXin Liisr_hw0 (void) 17*67e74705SXin Li { 18*67e74705SXin Li // CHECK: define void @isr_hw0() [[HW0:#[0-9]+]] 19*67e74705SXin Li } 20*67e74705SXin Li 21*67e74705SXin Li void __attribute__ ((interrupt("vector=hw1"))) isr_hw1(void)22*67e74705SXin Liisr_hw1 (void) 23*67e74705SXin Li { 24*67e74705SXin Li // CHECK: define void @isr_hw1() [[HW1:#[0-9]+]] 25*67e74705SXin Li } 26*67e74705SXin Li 27*67e74705SXin Li void __attribute__ ((interrupt("vector=hw2"))) isr_hw2(void)28*67e74705SXin Liisr_hw2 (void) 29*67e74705SXin Li { 30*67e74705SXin Li // CHECK: define void @isr_hw2() [[HW2:#[0-9]+]] 31*67e74705SXin Li } 32*67e74705SXin Li 33*67e74705SXin Li void __attribute__ ((interrupt("vector=hw3"))) isr_hw3(void)34*67e74705SXin Liisr_hw3 (void) 35*67e74705SXin Li { 36*67e74705SXin Li // CHECK: define void @isr_hw3() [[HW3:#[0-9]+]] 37*67e74705SXin Li } 38*67e74705SXin Li 39*67e74705SXin Li void __attribute__ ((interrupt("vector=hw4"))) isr_hw4(void)40*67e74705SXin Liisr_hw4 (void) 41*67e74705SXin Li { 42*67e74705SXin Li // CHECK: define void @isr_hw4() [[HW4:#[0-9]+]] 43*67e74705SXin Li } 44*67e74705SXin Li 45*67e74705SXin Li void __attribute__ ((interrupt("vector=hw5"))) isr_hw5(void)46*67e74705SXin Liisr_hw5 (void) 47*67e74705SXin Li { 48*67e74705SXin Li // CHECK: define void @isr_hw5() [[HW5:#[0-9]+]] 49*67e74705SXin Li } 50*67e74705SXin Li 51*67e74705SXin Li void __attribute__ ((interrupt)) isr_eic(void)52*67e74705SXin Liisr_eic (void) 53*67e74705SXin Li { 54*67e74705SXin Li // CHECK: define void @isr_eic() [[EIC:#[0-9]+]] 55*67e74705SXin Li } 56*67e74705SXin Li // CHECK: attributes [[SW0]] = { {{.*}} "interrupt"="sw0" {{.*}} } 57*67e74705SXin Li // CHECK: attributes [[SW1]] = { {{.*}} "interrupt"="sw1" {{.*}} } 58*67e74705SXin Li // CHECK: attributes [[HW0]] = { {{.*}} "interrupt"="hw0" {{.*}} } 59*67e74705SXin Li // CHECK: attributes [[HW1]] = { {{.*}} "interrupt"="hw1" {{.*}} } 60*67e74705SXin Li // CHECK: attributes [[HW2]] = { {{.*}} "interrupt"="hw2" {{.*}} } 61*67e74705SXin Li // CHECK: attributes [[HW3]] = { {{.*}} "interrupt"="hw3" {{.*}} } 62*67e74705SXin Li // CHECK: attributes [[HW4]] = { {{.*}} "interrupt"="hw4" {{.*}} } 63*67e74705SXin Li // CHECK: attributes [[HW5]] = { {{.*}} "interrupt"="hw5" {{.*}} } 64*67e74705SXin Li // CHECK: attributes [[EIC]] = { {{.*}} "interrupt"="eic" {{.*}} } 65