]>
Commit | Line | Data |
---|---|---|
223e47cc LB |
1 | // RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s |
2 | // rdar://9894548 | |
3 | ||
4 | typedef unsigned long word_t; | |
5 | typedef unsigned long u64_t; | |
6 | typedef unsigned int u32_t; | |
7 | ||
8 | class ioapic_redir_t { | |
9 | public: | |
10 | union { | |
11 | struct { | |
12 | word_t vector : 8; | |
13 | ||
14 | word_t delivery_mode : 3; | |
15 | word_t dest_mode : 1; | |
16 | ||
17 | word_t delivery_status : 1; | |
18 | word_t polarity : 1; | |
19 | word_t irr : 1; | |
20 | word_t trigger_mode : 1; | |
21 | ||
22 | word_t mask : 1; | |
23 | word_t _pad0 : 15; | |
24 | ||
25 | word_t dest : 8; | |
26 | }; | |
27 | volatile u32_t raw[2]; | |
28 | volatile u64_t raw64; | |
29 | }; | |
30 | }; | |
31 | ||
32 | struct ioapic_shadow_struct | |
33 | { | |
34 | ioapic_redir_t redirs[24]; | |
35 | } ioapic_shadow[16]; | |
36 | ||
37 | void init_ioapic(unsigned long ioapic_id) | |
38 | { | |
39 | ioapic_redir_t entry; | |
40 | ioapic_shadow[ioapic_id].redirs[3] = entry; | |
41 | } | |
42 | ||
43 | // CHECK: call void @llvm.memcpy |