diff options
Diffstat (limited to 'validation/optim')
| -rw-r--r-- | validation/optim/and-lsr.c | 1 | ||||
| -rw-r--r-- | validation/optim/mask-lsr.c | 1 | ||||
| -rw-r--r-- | validation/optim/mask-out.c | 1 | ||||
| -rw-r--r-- | validation/optim/shift-zext.c | 1 | ||||
| -rw-r--r-- | validation/optim/shl-lsr.c | 14 | ||||
| -rw-r--r-- | validation/optim/store-load-bitfield.c | 12 |
6 files changed, 17 insertions, 13 deletions
diff --git a/validation/optim/and-lsr.c b/validation/optim/and-lsr.c index df6b72f3..439eb822 100644 --- a/validation/optim/and-lsr.c +++ b/validation/optim/and-lsr.c @@ -8,7 +8,6 @@ unsigned int foo(unsigned int x) /* * check-name: and-lsr * check-command: test-linearize -Wno-decl $file - * check-known-to-fail * * check-output-ignore * check-output-contains: and\\..*\\$15 diff --git a/validation/optim/mask-lsr.c b/validation/optim/mask-lsr.c index 1d37c91e..ec636444 100644 --- a/validation/optim/mask-lsr.c +++ b/validation/optim/mask-lsr.c @@ -8,7 +8,6 @@ unsigned int foo(unsigned int x, unsigned int y) /* * check-name: mask-lsr * check-command: test-linearize -Wno-decl $file - * check-known-to-fail * * check-output-ignore * check-output-excludes: %arg1 diff --git a/validation/optim/mask-out.c b/validation/optim/mask-out.c index bf116873..ac85aec8 100644 --- a/validation/optim/mask-out.c +++ b/validation/optim/mask-out.c @@ -6,7 +6,6 @@ unsigned mask(unsigned a, unsigned b) /* * check-name: mask-out * check-command: test-linearize -Wno-decl $file - * check-known-to-fail * * check-output-ignore * check-output-excludes: %arg1 diff --git a/validation/optim/shift-zext.c b/validation/optim/shift-zext.c index 070416f3..30409bec 100644 --- a/validation/optim/shift-zext.c +++ b/validation/optim/shift-zext.c @@ -6,7 +6,6 @@ unsigned int foo(unsigned int x) /* * check-name: shift-zext * check-command: test-linearize -Wno-decl $file - * check-known-to-fail * * check-output-ignore * check-output-contains: and\\..*%arg1, \\$0xfff diff --git a/validation/optim/shl-lsr.c b/validation/optim/shl-lsr.c new file mode 100644 index 00000000..4f4b7e66 --- /dev/null +++ b/validation/optim/shl-lsr.c @@ -0,0 +1,14 @@ +unsigned mask(unsigned x) +{ + return (x << 15) >> 15; +} + +/* + * check-name: shl-lsr + * check-command: test-linearize -Wno-decl $file + * + * check-output-ignore + * check-output-contains: and\\..*0x1ffff + * check-output-excludes: lsr\\. + * check-output-excludes: shl\\. + */ diff --git a/validation/optim/store-load-bitfield.c b/validation/optim/store-load-bitfield.c index 1d8ff240..f68cb600 100644 --- a/validation/optim/store-load-bitfield.c +++ b/validation/optim/store-load-bitfield.c @@ -28,21 +28,15 @@ int sfoo(int a) ufoo: .L0: <entry-point> - and.32 %r4 <- %arg1, $7 - shl.32 %r5 <- %r4, $2 - lsr.32 %r9 <- %r5, $2 - and.32 %r11 <- %r9, $7 + and.32 %r11 <- %arg1, $7 ret.32 %r11 sfoo: .L2: <entry-point> - and.32 %r16 <- %arg1, $7 - shl.32 %r17 <- %r16, $2 - lsr.32 %r21 <- %r17, $2 - trunc.3 %r22 <- (32) %r21 - sext.32 %r23 <- (3) %r22 + trunc.3 %r16 <- (32) %arg1 + sext.32 %r23 <- (3) %r16 ret.32 %r23 |
