summaryrefslogtreecommitdiffstats
path: root/src/test/ui/asm/x86_64/type-check-3.stderr
blob: 366038fea2340ac5ddb2d6d6db1167c4c299f8c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
error: type `i128` cannot be used with this register class
  --> $DIR/type-check-3.rs:14:28
   |
LL |         asm!("{}", in(reg) 0i128);
   |                            ^^^^^
   |
   = note: register class `reg` supports these types: i16, i32, i64, f32, f64

error: type `__m128` cannot be used with this register class
  --> $DIR/type-check-3.rs:16:28
   |
LL |         asm!("{}", in(reg) _mm_setzero_ps());
   |                            ^^^^^^^^^^^^^^^^
   |
   = note: register class `reg` supports these types: i16, i32, i64, f32, f64

error: type `__m256` cannot be used with this register class
  --> $DIR/type-check-3.rs:18:28
   |
LL |         asm!("{}", in(reg) _mm256_setzero_ps());
   |                            ^^^^^^^^^^^^^^^^^^^
   |
   = note: register class `reg` supports these types: i16, i32, i64, f32, f64

error: type `u8` cannot be used with this register class
  --> $DIR/type-check-3.rs:20:32
   |
LL |         asm!("{}", in(xmm_reg) 0u8);
   |                                ^^^
   |
   = note: register class `xmm_reg` supports these types: i32, i64, f32, f64, i8x16, i16x8, i32x4, i64x2, f32x4, f64x2

error: `avx512bw` target feature is not enabled
  --> $DIR/type-check-3.rs:29:29
   |
LL |         asm!("{}", in(kreg) 0u64);
   |                             ^^^^
   |
   = note: this is required to use type `u64` with register class `kreg`

warning: formatting may not be suitable for sub-register argument
  --> $DIR/type-check-3.rs:34:15
   |
LL |         asm!("{0} {0}", in(reg) 0i16);
   |               ^^^ ^^^           ---- for this argument
   |
   = note: `#[warn(asm_sub_register)]` on by default
   = help: use `{0:x}` to have the register formatted as `ax`
   = help: or use `{0:r}` to keep the default formatting of `rax`

warning: formatting may not be suitable for sub-register argument
  --> $DIR/type-check-3.rs:36:15
   |
LL |         asm!("{0} {0:x}", in(reg) 0i16);
   |               ^^^                 ---- for this argument
   |
   = help: use `{0:x}` to have the register formatted as `ax`
   = help: or use `{0:r}` to keep the default formatting of `rax`

warning: formatting may not be suitable for sub-register argument
  --> $DIR/type-check-3.rs:38:15
   |
LL |         asm!("{}", in(reg) 0i32);
   |               ^^           ---- for this argument
   |
   = help: use `{0:e}` to have the register formatted as `eax`
   = help: or use `{0:r}` to keep the default formatting of `rax`

warning: formatting may not be suitable for sub-register argument
  --> $DIR/type-check-3.rs:41:15
   |
LL |         asm!("{}", in(ymm_reg) 0i64);
   |               ^^               ---- for this argument
   |
   = help: use `{0:x}` to have the register formatted as `xmm0`
   = help: or use `{0:y}` to keep the default formatting of `ymm0`

error: type `i8` cannot be used with this register class
  --> $DIR/type-check-3.rs:52:28
   |
LL |         asm!("{}", in(reg) 0i8);
   |                            ^^^
   |
   = note: register class `reg` supports these types: i16, i32, i64, f32, f64
   = help: consider using the `reg_byte` register class instead

error: incompatible types for asm inout argument
  --> $DIR/type-check-3.rs:64:33
   |
LL |         asm!("{:r}", inout(reg) 0u32 => val_f32);
   |                                 ^^^^    ^^^^^^^ type `f32`
   |                                 |
   |                                 type `u32`
   |
   = note: asm inout arguments must have the same type, unless they are both pointers or integers of the same size

error: incompatible types for asm inout argument
  --> $DIR/type-check-3.rs:66:33
   |
LL |         asm!("{:r}", inout(reg) 0u32 => val_ptr);
   |                                 ^^^^    ^^^^^^^ type `*mut u8`
   |                                 |
   |                                 type `u32`
   |
   = note: asm inout arguments must have the same type, unless they are both pointers or integers of the same size

error: incompatible types for asm inout argument
  --> $DIR/type-check-3.rs:68:33
   |
LL |         asm!("{:r}", inout(reg) main => val_u32);
   |                                 ^^^^    ^^^^^^^ type `u32`
   |                                 |
   |                                 type `fn()`
   |
   = note: asm inout arguments must have the same type, unless they are both pointers or integers of the same size

error: aborting due to 9 previous errors; 4 warnings emitted