diff --git a/gm/bitmaprect.cpp b/gm/bitmaprect.cpp
index 8b29283..badffb9 100644
--- a/gm/bitmaprect.cpp
+++ b/gm/bitmaprect.cpp
@@ -45,6 +45,13 @@
         return SkISize::Make(640, 480);
     }
 
+#ifdef SK_CPU_ARM64
+    // Skip tiled drawing on 64-bit ARM until https://skbug.com/2908 is fixed.
+    virtual uint32_t onGetFlags() const SK_OVERRIDE {
+        return kSkipTiled_Flag;
+    }
+#endif
+
     virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
         canvas->drawColor(0xFFCCCCCC);
 
diff --git a/gm/resizeimagefilter.cpp b/gm/resizeimagefilter.cpp
index e87dff0..bb09e0b 100644
--- a/gm/resizeimagefilter.cpp
+++ b/gm/resizeimagefilter.cpp
@@ -25,6 +25,13 @@
         return SkString("resizeimagefilter");
     }
 
+#ifdef SK_CPU_ARM64
+    // Skip tiled drawing on 64-bit ARM until https://skbug.com/2908 is fixed.
+    virtual uint32_t onGetFlags() const SK_OVERRIDE {
+        return kSkipTiled_Flag;
+    }
+#endif
+
     void draw(SkCanvas* canvas,
               const SkRect& rect,
               const SkSize& deviceSize,
diff --git a/gm/tilemodes_scaled.cpp b/gm/tilemodes_scaled.cpp
index 360539c..93a3db3 100644
--- a/gm/tilemodes_scaled.cpp
+++ b/gm/tilemodes_scaled.cpp
@@ -73,6 +73,13 @@
         return name;
     }
 
+#ifdef SK_CPU_ARM64
+    // Skip tiled drawing on 64-bit ARM until https://skbug.com/2908 is fixed.
+    virtual uint32_t onGetFlags() const SK_OVERRIDE {
+        return kSkipTiled_Flag;
+    }
+#endif
+
     SkISize onISize() { return SkISize::Make(880, 760); }
 
     virtual void onOnceBeforeDraw() SK_OVERRIDE {
diff --git a/gyp/common_conditions.gypi b/gyp/common_conditions.gypi
index 0075b25..aa6da51 100644
--- a/gyp/common_conditions.gypi
+++ b/gyp/common_conditions.gypi
@@ -240,13 +240,6 @@
               '-fno-omit-frame-pointer',
             ],
           }],
-          [ 'skia_arch_type == "arm64"', {
-            # this flag causes tiling errors with GCC 4.9 (pre-release) toolchain
-            # see skbug.com/ 
-            'cflags': [
-              '-fno-expensive-optimizations'
-            ],
-          }],
           [ 'skia_arch_type == "arm" and arm_thumb == 1', {
             'cflags': [
               '-mthumb',
